<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[BIWEB开源PHP WMS系统创始人ArthurXF肖飞的blog]]></title> 
<link>http://www.bizeway.net/index.php</link> 
<description><![CDATA[网务通 - 网务公司发展之路]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[BIWEB开源PHP WMS系统创始人ArthurXF肖飞的blog]]></copyright>
<item>
<link>http://www.bizeway.net/read.php?609</link>
<title><![CDATA[mongo and 和 or 查询 ]]></title> 
<author>ArthurXF &lt;arthurxf@gmail.com&gt;</author>
<category><![CDATA[Mongodb]]></category>
<pubDate>Fri, 26 Oct 2012 03:25:33 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?609</guid> 
<description>
<![CDATA[ 
	$query = '{ "$and": [<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{"$or": [{"reported": {"$exists": false}}, {"reported": 0}]}, <br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{"$or": [{"hidden": {"$exists": false}}, {"hidden":1}]}<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;]<br/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;,"_id":1081<br/> &nbsp; &nbsp; &nbsp; }';db->Post->find($query);<br/><br/><br/>该语句的查询意思是： 查找Post 文档 _id 为 1081 且 reported 字段不存在 或者 reported 字段为 0 或者 hidden 字段不存在 或者 hidden 字段为 0 的数据<br/>Tags - <a href="tag.php?tag=mango" rel="tag">mango</a>
]]>
</description>
</item><item>
<link>http://www.bizeway.net/read.php?608</link>
<title><![CDATA[mongodb 数据导出、导入]]></title> 
<author>ArthurXF &lt;arthurxf@gmail.com&gt;</author>
<category><![CDATA[Mongodb]]></category>
<pubDate>Fri, 26 Oct 2012 03:24:53 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?608</guid> 
<description>
<![CDATA[ 
	<strong><span style="font-size: medium">一：数据导出 mongoexport</span></strong> <div>假设库里有一张 user 表，里面有 2 条记录</div> <div><pre class="prettyprint"><p><span style="line-height: 22px"><span class="pun">&gt;</span><span class="pln"> </span><span class="kwd">use</span><span class="pln"> my_mongodb</span></span><br /><span style="line-height: 22px"><span class="pln">switched to db my_mongodb</span></span><br /><span style="line-height: 22px"><span class="pun">&gt;</span><span class="pln"> db</span><span class="pun">.</span><span class="pln">user</span><span class="pun">.</span><span class="pln">find</span><span class="pun">();</span></span><br /><span style="line-height: 22px"><span class="pun">{</span><span class="pln"> </span><span class="str">&quot;_id&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ">ObjectId</span><span class="pun">(</span><span class="str">&quot;4f81a4a1779282ca68fd8a5a&quot;</span><span class="pun">),</span><span class="pln"> </span><span class="str">&quot;uid&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="str">&quot;username&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;Jerry&quot;</span><span class="pun">,</span><span class="pln"> </span><span class="str">&quot;age&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">100</span><span class="pln"> </span><span class="pun">}</span></span><br /><span style="line-height: 22px"><span class="pun">{</span><span class="pln"> </span><span class="str">&quot;_id&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ">ObjectId</span><span class="pun">(</span><span class="str">&quot;4f844d1847d25a9ce5f120c4&quot;</span><span class="pun">),</span><span class="pln"> </span><span class="str">&quot;uid&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">&quot;username&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;Tom&quot;</span><span class="pun">,</span><span class="pln"> </span><span class="str">&quot;age&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">25</span><span class="pln"> </span><span class="pun">}</span></span><br /><span style="line-height: 22px"><span class="pun">&gt;</span></span><br /></p></pre><strong>1.导出 &nbsp;JSON 格式的数据</strong></div> <div><pre class="prettyprint"><p><span class="pun">[</span><span class="pln">root@localhost bin</span><span class="pun">]</span><span class="com"># ./mongoexport -d my_mongodb -c user -o user.dat</span></p><p><span class="com">connected to: 127.0.0.1</span><br /><span class="pln">exported </span><span class="lit">2</span><span class="pln"> records</span><br /><span class="pun">[</span><span class="pln">root@localhost bin</span><span class="pun">]</span><span class="com"># cat user.dat</span><br /><span class="pun">{</span><span class="pln"> </span><span class="str">&quot;_id&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="str">&quot;$oid&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;4f81a4a1779282ca68fd8a5a&quot;</span><span class="pln"> </span><span class="pun">},</span><span class="pln"> </span><span class="str">&quot;uid&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">2</span><span class="pun">,</span><span class="pln"> </span><span class="str">&quot;username&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;Jerry&quot;</span><span class="pun">,</span><span class="pln"> </span><span class="str">&quot;age&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">100</span><span class="pln"> </span><span class="pun">}</span><br /><span class="pun">{</span><span class="pln"> </span><span class="str">&quot;_id&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="str">&quot;$oid&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;4f844d1847d25a9ce5f120c4&quot;</span><span class="pln"> </span><span class="pun">},</span><span class="pln"> </span><span class="str">&quot;uid&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">&quot;username&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;Tom&quot;</span><span class="pun">,</span><span class="pln"> </span><span class="str">&quot;age&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">25</span><span class="pln"> </span><span class="pun">}</span><br /><span class="pun">[</span><span class="pln">root@localhost bin</span><span class="pun">]</span><span class="com">#</span></p></pre> <div>参数说明:</div> <div> -d 指明使用的库, 本例中为&rdquo; my_mongodb&rdquo;</div> <div>-c 指明要导出的表, 本例中为&rdquo;user&rdquo;</div> <div>-o 指明要导出的文件名, 本例中为&rdquo;user.dat&rdquo;</div> <div><br /></div> <div><strong>2. 导出 CSV 格式的文件</strong></div> <div><pre class="prettyprint"><p><span class="pun">[</span><span class="pln">root@localhost bin</span><span class="pun">]</span><span class="com"># ./mongoexport -d my_mongodb -c user --csv -f uid,username,age -o</span><br /><span class="pln">user_csv</span><span class="pun">.</span><span class="pln">dat</span><br /><span class="pln">connected to</span><span class="pun">:</span><span class="pln"> </span><span class="lit">127.0</span><span class="pun">.</span><span class="lit">0.1</span><br /><span class="pln">exported </span><span class="lit">2</span><span class="pln"> records</span><br /><span class="pun">[</span><span class="pln">root@localhost bin</span><span class="pun">]</span><span class="com"># cat user_csv.dat</span><br /><span class="pln">uid</span><span class="pun">,</span><span class="pln">username</span><span class="pun">,</span><span class="pln">age</span><br /><span class="lit">2</span><span class="pun">,</span><span class="str">&quot;Jerry&quot;</span><span class="pun">,</span><span class="lit">100</span><br /><span class="lit">1</span><span class="pun">,</span><span class="str">&quot;Tom&quot;</span><span class="pun">,</span><span class="lit">25</span><br /><span class="pun">[</span><span class="pln">root@localhost bin</span><span class="pun">]</span><span class="com">#</span></p></pre> <div>参数说明:</div> <div> -csv 指要要导出为csv 格式</div> <div> -f 指明需要导出哪些例</div></div> <div><br /></div> <div>更详细的用法可以 mongoexport &ndash;help 来查看</div> <div><br /></div> <div><strong style="line-height: 28px; font-size: large">二：数据导入 mongoimport</strong> &nbsp;</div> <div><span style="line-height: 28px"><span style="font-size: x-small"><strong>1. 导入 JSON &nbsp;数据</strong></span></span></div> <div><span style="font-size: x-small">先将表user 删除掉，以便演示效果</span></div> <div><pre class="prettyprint"><p><span class="pun">&gt;</span><span class="pln"> db</span><span class="pun">.</span><span class="pln">user</span><span class="pun">.</span><span class="pln">drop</span><span class="pun">();</span><br /><span class="kwd">true</span><br /><span class="pun">&gt;</span><span class="pln"> show collections</span><span class="pun">;</span><br /><span class="pln">system</span><span class="pun">.</span><span class="pln">indexes</span><br /><span class="pun">&gt;</span></p></pre>导入数据：</div> <div><pre class="prettyprint"><p><span class="pun">[</span><span class="pln">root@localhost bin</span><span class="pun">]</span><span class="com"># ./mongoimport -d my_mongodb -c user user.dat</span><br /><span class="pln">connected to</span><span class="pun">:</span><span class="pln"> </span><span class="lit">127.0</span><span class="pun">.</span><span class="lit">0.1</span><br /><span class="pln">imported </span><span class="lit">2</span><span class="pln"> objects</span><br /><span class="pun">[</span><span class="pln">root@localhost bin</span><span class="pun">]</span><span class="com">#</span></p></pre><strong>2.导入 &nbsp;CSV 数据：</strong></div> <div><pre class="prettyprint"><p><span class="pun">[</span><span class="pln">root@localhost bin</span><span class="pun">]</span><span class="com"># ./mongoimport -d my_mongodb -c user --type csv --headerline --file</span><br /><span class="pln">user_csv</span><span class="pun">.</span><span class="pln">dat</span><br /><span class="pln">connected to</span><span class="pun">:</span><span class="pln"> </span><span class="lit">127.0</span><span class="pun">.</span><span class="lit">0.1</span><br /><span class="pln">imported </span><span class="lit">3</span><span class="pln"> objects</span><br /><span class="pun">[</span><span class="pln">root@localhost bin</span><span class="pun">]</span><span class="com">#</span></p></pre> <div>参数说明:</div> <div> -type 指明要导入的文件格式</div> <div> -headerline 批明不导入第一行，因为第一行是列名</div> <div> -file 指明要导入的文件路径</div></div> <div><br /></div> <div> <div><span style="color: #ff0000">注意:</span></div> <div><span style="color: #ff0000">CSV 格式良好，主流数据库都支持导出为CSV &nbsp;的格式，所以这种格式非常利于异构数据迁移</span></div></div></div><br/>Tags - <a href="tag.php?tag=mango" rel="tag">mango</a>
]]>
</description>
</item><item>
<link>http://www.bizeway.net/read.php?607</link>
<title><![CDATA[mongodb 优化器 profile]]></title> 
<author>ArthurXF &lt;arthurxf@gmail.com&gt;</author>
<category><![CDATA[Mongodb]]></category>
<pubDate>Fri, 26 Oct 2012 03:23:55 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?607</guid> 
<description>
<![CDATA[ 
	<div>在MySQL 中，慢查询日志是经常作为我们优化数据库的依据，那在MongoDB 中是否有类似</div> <div>的功能呢?答案是肯定的，那就是MongoDB Database Profiler。所以MongoDB 不仅有，而且</div> <div>还有一些比MySQL 的Slow Query Log 更详细的信息。</div> <div><br /></div> <div><span style="font-size: small"><strong>1. 开启 Profiling 功能</strong></span></div> <div><br /></div> <div> <div>有两种方式可以控制 Profiling 的开关和级别，第一种是直接在启动参数里直接进行设置。</div> <div>启动MongoDB 时加上&ndash;profile=级别 即可。</div> <div>也可以在客户端调用db.setProfilingLevel(级别) 命令来实时配置，Profiler 信息保存在</div> <div>system.profile 中。我们可以通过db.getProfilingLevel()命令来获取当前的Profile &nbsp;级别，类似如下操作</div></div> <div><pre class="prettyprint"><p><span class="pun">&gt;</span><span class="pln"> db</span><span class="pun">.</span><span class="pln">setProfilingLevel</span><span class="pun">(</span><span class="lit">2</span><span class="pun">);</span><br /><span class="pun">{</span><span class="pln"> </span><span class="str">&quot;was&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">&quot;slowms&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">100</span><span class="pun">,</span><span class="pln"> </span><span class="str">&quot;ok&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">}</span></p></pre> <div>上面profile 的级别可以取0，1，2 三个值，他们表示的意义如下：</div> <div> 0 &ndash; 不开启</div> <div> 1 &ndash; 记录慢命令 (默认为&gt;100ms)</div> <div> 2 &ndash; 记录所有命令</div> <div>Profile 记录在级别1 时会记录慢命令，那么这个慢的定义是什么?上面我们说到其默认为</div> <div>100ms，当然有默认就有设置，其设置方法和级别一样有两种，一种是通过添加&ndash;slowms 启</div> <div>动参数配置。第二种是调用db.setProfilingLevel 时加上第二个参数：</div></div> <div><pre class="prettyprint"><p><span class="pln">db</span><span class="pun">.</span><span class="pln">setProfilingLevel</span><span class="pun">(</span><span class="pln"> level </span><span class="pun">,</span><span class="pln"> slowms </span><span class="pun">)</span><br /><span class="pln">db</span><span class="pun">.</span><span class="pln">setProfilingLevel</span><span class="pun">(</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">,</span><span class="pln"> </span><span class="lit">10</span><span class="pln"> </span><span class="pun">);</span></p></pre><br /></div> <div><strong><span style="font-size: small">2. 查询 Profiling 记录</span></strong></div> <div><br /></div> <div> <div>与MySQL 的慢查询日志不同，MongoDB Profile 记录是直接存在系统db 里的，记录位置</div> <div>system.profile ，所以，我们只要查询这个Collection 的记录就可以获取到我们的 Profile 记</div> <div>录了。列出执行时间长于某一限度(5ms)的 Profile 记录：</div> <div>db.system.profile.find( { millis : { $gt : 5 } } )</div></div> <div> <div>查看最新的 Profile 记录：</div> <div>db.system.profile.find().sort({$natural:-1}).limit(1)</div></div> <div><pre class="prettyprint"><p><span class="pun">&gt;</span><span class="pln"> db</span><span class="pun">.</span><span class="pln">system</span><span class="pun">.</span><span class="pln">profile</span><span class="pun">.</span><span class="pln">find</span><span class="pun">().</span><span class="pln">sort</span><span class="pun">({</span><span class="pln">$natural</span><span class="pun">:-</span><span class="lit">1</span><span class="pun">}).</span><span class="pln">limit</span><span class="pun">(</span><span class="lit">1</span><span class="pun">)</span><br /><span class="pun">{</span><span class="pln"> </span><span class="str">&quot;ts&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ">ISODate</span><span class="pun">(</span><span class="str">&quot;2012-05-20T16:50:36.321Z&quot;</span><span class="pun">),</span><span class="pln"> </span><span class="str">&quot;info&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;query test.system.profile reslen:1219</span><br /><span class="str">nscanned:8 &#92;nquery: { query: {}, orderby: { $natural: -1.0 } } nreturned:8 bytes:1203&quot;</span><span class="pun">,</span><span class="pln"> </span><span class="str">&quot;millis&quot;</span><span class="pln"> </span><span class="pun">:</span><br /><span class="lit">0</span><span class="pln"> </span><span class="pun">}</span><br /><span class="pun">&gt;</span></p></pre> <div>字段说明:</div> <div> ts： 该命令在何时执行</div> <div> info: 本命令的详细信息</div> <div> reslen: 返回结果集的大小</div> <div> nscanned: 本次查询扫描的记录数</div> <div> nreturned: 本次查询实际返回的结果集</div> <div> millis: 该命令执行耗时，以毫秒记</div> <div><br /></div> <div>MongoDB Shell 还提供了一个比较简洁的命令show profile，可列出最近5 条执行时间超过</div> <div>1ms 的 Profile 记录。</div></div><br/>Tags - <a href="tag.php?tag=mango" rel="tag">mango</a>
]]>
</description>
</item><item>
<link>http://www.bizeway.net/read.php?606</link>
<title><![CDATA[PHP操作MongoDB学习]]></title> 
<author>ArthurXF &lt;arthurxf@gmail.com&gt;</author>
<category><![CDATA[Mongodb]]></category>
<pubDate>Fri, 26 Oct 2012 03:21:05 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?606</guid> 
<description>
<![CDATA[ 
	<span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">1 &nbsp; mongodb启动时，设置启动项 </span><br /><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">C:&#92;&gt;mongodb&#92;bin&#92;mongod &nbsp;--config C:&#92;mongodb.conf </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">其中mongodb.conf为： </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp; dbpath = D:&#92;mongodb_data &nbsp; &nbsp;</span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp;logpath &nbsp;= D:&#92;mongodb.log &nbsp; &nbsp; &nbsp;</span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp;logappend &nbsp;= true </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> 如果是linux的话，则mongod &nbsp;--config /etc/mongodb.conf </span><br /><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">2 &nbsp;停止server </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp; db.shutdownServer() </span><br /><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">3 &nbsp;常用操作: </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp;use myfirstdb </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; 插入db </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp;db.movies.insert({name:&quot;Source Code&quot;, genre:&quot;sci-fi&quot;, year:2011}) </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp;查找所有记录 </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp;db.movies.find() </span> <div><span style="line-height: 25px"><br /></span><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">4 &nbsp;. PHP MongoDB 扩展安装</span></div> <div><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; php 5.2 mongo driver下载： </span><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"><br /></span></div> <div><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> <span style="white-space: pre"> </span>http://downloads.mongodb.org/mongo-latestphp5.2vc6ts. </span><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">zip </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; 5.3 mongo driver下载： </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; <span style="white-space: pre"> </span>http://downloads.mongodb.org/mongo-latest-php5.3vc6ts.zip </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp;把DLL复制到extension目录，然后 </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">extension=php_mongo.dll即可 </span><br /><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">5 &nbsp;列出当前数据库的php mongodb程序 </span><br /> <div id="highlighter_586927" style="margin: 1em 0px; padding: 1px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: 737.54px; height: auto !important; right: auto !important; bottom: auto !important; color: #404040; line-height: 15.39px; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; vertical-align: baseline !important; float: none !important; position: relative !important; min-height: inherit !important; background-image: none"> <div style="margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; right: auto !important; bottom: auto !important; line-height: 15.39px; font-size: 1em !important; vertical-align: baseline !important; float: none !important; position: static !important; min-height: inherit !important; background-image: none"> <div style="margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; right: auto !important; bottom: auto !important; line-height: 15.39px; font-size: 1em !important; vertical-align: baseline !important; float: none !important; position: static !important; min-height: inherit !important; background-image: none"><pre class="prettyprint"><p><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pun">&lt;?</span><span class="pln">php </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="kwd">try</span><span class="pun">{ </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$mongo </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Mongo</span><span class="pun">();</span><span class="pln"> </span><span class="com">//create a connection to MongoDB </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$databases </span><span class="pun">=</span><span class="pln"> $mongo</span><span class="pun">-&gt;</span><span class="pln">listDBs</span><span class="pun">();</span><span class="pln"> </span><span class="com">//List all databases </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">echo </span><span class="str">'&lt;pre&gt;'</span><span class="pun">; </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">print_r</span><span class="pun">(</span><span class="pln">$databases</span><span class="pun">); </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$mongo</span><span class="pun">-&gt;</span><span class="pln">close</span><span class="pun">(); </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pun">}</span><span class="pln"> </span><span class="kwd">catch</span><span class="pun">(</span><span class="typ">MongoConnectionException</span><span class="pln"> $e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{ </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="com">//handle connection error </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="kwd">die</span><span class="pun">(</span><span class="pln">$e</span><span class="pun">-&gt;</span><span class="pln">getMessage</span><span class="pun">()); </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pun">} </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pun">?&gt;</span><span class="pln"> </span></span></p></pre><br /></div></div></div><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">如果是连接时用不同的端口，构造函数中用： </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">$mongo &nbsp;= new Mongo($server=&quot;mongodb://localhost:8888&quot;); </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">也可以指定timeout的策略； </span></div> <div> <div id="highlighter_436230" style="margin: 1em 0px; padding: 1px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: 737.54px; height: auto !important; right: auto !important; bottom: auto !important; color: #404040; line-height: 15.39px; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; vertical-align: baseline !important; float: none !important; position: relative !important; min-height: inherit !important; background-image: none"> <div style="margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; right: auto !important; bottom: auto !important; line-height: 15.39px; font-size: 1em !important; vertical-align: baseline !important; float: none !important; position: static !important; min-height: inherit !important; background-image: none"> <div style="margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; right: auto !important; bottom: auto !important; line-height: 15.39px; font-size: 1em !important; vertical-align: baseline !important; float: none !important; position: static !important; min-height: inherit !important; background-image: none"><pre class="prettyprint"><p><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln"> </span><span class="kwd">try</span><span class="pln"> </span><span class="pun">{ </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$mongo </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Mongo</span><span class="pun">(</span><span class="pln">$options</span><span class="pun">=</span><span class="pln">array</span><span class="pun">(</span><span class="str">'timeout'</span><span class="pun">=&gt;</span><span class="pln"> </span><span class="lit">100</span><span class="pun">)) </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pun">}</span><span class="pln"> </span><span class="kwd">catch</span><span class="pun">(</span><span class="typ">MongoConnectionException</span><span class="pln"> $e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{ </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="kwd">die</span><span class="pun">(</span><span class="str">&quot;Failed to connect to database &quot;</span><span class="pun">.</span><span class="pln">$e</span><span class="pun">-&gt;</span><span class="pln">getMessage</span><span class="pun">()); </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pun">} </span></span></p></pre></div></div></div><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">6 &nbsp;通过PHP保存对象到mongo db中 </span><br /> <div id="highlighter_999685" style="margin: 1em 0px; padding: 1px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: 737.54px; height: auto !important; right: auto !important; bottom: auto !important; color: #404040; line-height: 15.39px; font-family: Consolas, &quot;Bitstream Vera Sans Mono&quot;, &quot;Courier New&quot;, Courier, monospace !important; vertical-align: baseline !important; float: none !important; position: relative !important; min-height: inherit !important; background-image: none"> <div style="margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; right: auto !important; bottom: auto !important; line-height: 15.39px; font-size: 1em !important; vertical-align: baseline !important; float: none !important; position: static !important; min-height: inherit !important; background-image: none"> <div style="margin: 0px; padding: 0px !important; outline: 0px !important; border: 0px currentColor; left: auto !important; top: auto !important; width: auto !important; height: auto !important; right: auto !important; bottom: auto !important; line-height: 15.39px; font-size: 1em !important; vertical-align: baseline !important; float: none !important; position: static !important; min-height: inherit !important; background-image: none"><pre class="prettyprint"><p><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$connection </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Mongo</span><span class="pun">(); </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$database &nbsp; </span><span class="pun">=</span><span class="pln"> $connection</span><span class="pun">-&gt;</span><span class="pln">selectDB</span><span class="pun">(</span><span class="str">'myblogsite'</span><span class="pun">); </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$collection </span><span class="pun">=</span><span class="pln"> $database</span><span class="pun">-&gt;</span><span class="pln">selectCollection</span><span class="pun">(</span><span class="str">'articles'</span><span class="pun">); </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$article &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">(); </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$article</span><span class="pun">[</span><span class="str">'title'</span><span class="pun">] &nbsp; &nbsp; </span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $_POST</span><span class="pun">[</span><span class="str">'title'</span><span class="pun">]; </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$article</span><span class="pun">[</span><span class="str">'content'</span><span class="pun">] &nbsp; </span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $_POST</span><span class="pun">[</span><span class="str">'content'</span><span class="pun">]; </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$article</span><span class="pun">[</span><span class="str">'saved_at'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">MongoDate</span><span class="pun">(); </span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span></span><br /><span style="color: #000000; line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$collection</span><span class="pun">-&gt;</span><span class="pln">insert</span><span class="pun">(</span><span class="pln">$article</span><span class="pun">); </span></span></p></pre><br /></div></div></div><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">注意的是，默认不用显式create &nbsp;database即可，如果不存在则会自动 </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">新建立database,也可以：</span></div><pre class="prettyprint"><p><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$connection </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Mongo</span><span class="pun">(); </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$collection </span><span class="pun">=</span><span class="pln"> $connection</span><span class="pun">-&gt;</span><span class="pln">myblogsite</span><span class="pun">-&gt;</span><span class="pln">articles</span><span class="pun">; </span></span></p><p><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="com">// mongodb的插入是异步的，如果不想异步，可以这样； </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="kwd">try</span><span class="pln"> </span><span class="pun">{ </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$status </span><span class="pun">=</span><span class="pln"> $connection</span><span class="pun">-&gt;</span><span class="pln">insert</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">'title'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Blog Title'</span><span class="pun">, </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="str">'content'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Blog Content'</span><span class="pun">), </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">array</span><span class="pun">(</span><span class="str">'safe'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="kwd">True</span><span class="pun">)); </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">echo </span><span class="str">&quot;Insert operation complete&quot;</span><span class="pun">; </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pun">}</span><span class="pln"> </span><span class="kwd">catch</span><span class="pln"> </span><span class="pun">(</span><span class="typ">MongoCursorException</span><span class="pln"> $e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{ </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="kwd">die</span><span class="pun">(</span><span class="str">&quot;Insert failed &quot;</span><span class="pun">.</span><span class="pln">$e</span><span class="pun">-&gt;</span><span class="pln">getMessage</span><span class="pun">()); </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pun">} </span></span></p></pre> <div><br /><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; 则必须等插入完成后才返回给用户，继续执行下一条语句 </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp; 也可以指定timeout的策略： </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp; $collection-&gt;insert($document, array('safe' =&gt; True, </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">'timeout' &nbsp;=&gt; True)); </span><br /><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">7 &nbsp;设置自己的自增id </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp; $document = array('_id' =&gt; hash('sha1', $username.time()), </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp; &nbsp;将设置id为username后加上当前时间再hash. </span><br /><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">8 &nbsp;日期设置 </span></div> <div><span style="line-height: 25px"><br /></span></div> <div><pre class="prettyprint"><p><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$article</span><span class="pun">[</span><span class="str">'saved_at'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">MongoDate</span><span class="pun">(); </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$timestamp </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">MongoDate</span><span class="pun">(</span><span class="pln">strtotime</span><span class="pun">(</span><span class="str">'2011-05-21 12:00:00'</span><span class="pun">)); </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="kwd">print</span><span class="pln"> date</span><span class="pun">(</span><span class="str">'g:i a, F j'</span><span class="pun">,</span><span class="pln"> $timestamp</span><span class="pun">-&gt;</span><span class="pln">sec</span><span class="pun">);</span><span class="pln"> </span><span class="com">//prints 12 pm, May 21 </span></span></p><p><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><br /></span></p><p><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$lastweek </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">MongoDate</span><span class="pun">(</span><span class="pln">strtotime</span><span class="pun">(</span><span class="str">'-1 week'</span><span class="pun">)); </span><span class="pln"> </span><span class="com">//找出一个星期以来的记录 </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$cursor </span><span class="pun">=</span><span class="pln"> $articleCollection</span><span class="pun">-&gt;</span><span class="pln">find</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">'saved_at'</span><span class="pln"> </span><span class="pun">=&gt; </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">array</span><span class="pun">(</span><span class="str">'$gt'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $lastweek</span><span class="pun">))); </span></span></p></pre><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">指定一定范围内的记录： </span></div> <div><span style="line-height: 25px"><br /></span></div> <div><pre class="prettyprint"><p><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$start </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">MongoDate</span><span class="pun">(</span><span class="pln">strtotime</span><span class="pun">(</span><span class="str">'2011-05-01 00:00:00'</span><span class="pun">)); </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$end </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">MongoDate</span><span class="pun">(</span><span class="pln">strtotime</span><span class="pun">(</span><span class="str">'2011-05-31 23:59:59'</span><span class="pun">)); </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$articleCollection</span><span class="pun">-&gt;</span><span class="pln">find</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">'saved_at'</span><span class="pun">=&gt; </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">array</span><span class="pun">(</span><span class="str">'$gte'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $start</span><span class="pun">, </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="str">'$lte'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $end</span><span class="pun">))); </span></span></p></pre><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">9 &nbsp;列出某个表的所有记录 </span></div> <div><pre class="prettyprint"><p><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln"> $cursor </span><span class="pun">=</span><span class="pln"> $collection</span><span class="pun">-&gt;</span><span class="pln">find</span><span class="pun">(); </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln"> &lt;?php </span><span class="kwd">while</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$cursor</span><span class="pun">-&gt;</span><span class="pln">hasNext</span><span class="pun">()): </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$article </span><span class="pun">=</span><span class="pln"> $cursor</span><span class="pun">-&gt;</span><span class="pln">getNext</span><span class="pun">();</span><span class="pln"> </span><span class="pun">?&gt; </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="str">&lt;h2&gt;</span><span class="pun">&lt;?</span><span class="pln">php echo $article</span><span class="pun">[</span><span class="str">'title'</span><span class="pun">];</span><span class="pln"> </span><span class="pun">?&gt;&lt;/</span><span class="pln">h2</span><span class="pun">&gt; </span></span></p></pre><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">找某条记录：$article &nbsp;= $collection-&gt;findOne(array('_id'=&gt; </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"><span style="white-space: pre"> </span>new &nbsp;MongoId($id))); </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">查找时也可以传入多个参数： </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">$moviesCollection-&gt;find(array('genre' &nbsp;=&gt; 'comedy', 'year' =&gt; 2011)); </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">if &nbsp;($cursor-&gt;count() === 0) &nbsp;//如果找不到 </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp;如果查询多个条件： </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp;$collection-&gt;find(array('x' =&gt; array('$gt' =&gt; 100))); </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; //$ is escaped within double quotes (&quot;) </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; $collection-&gt;find(array('x' =&gt; array(&quot;&#92;$gt&quot; =&gt; 100))); </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp;注意要用单引号，如果要用双引号，则要加上转义符。 </span><br /><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">10 &nbsp;排序： </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp; &nbsp;$cursor-&gt;sort(array('saved_at' =&gt; -1)) //按save_at字段降序排列，1为升序 </span></div> <div><span style="line-height: 25px"><br /></span><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">11 &nbsp;skip和limit: </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp; &nbsp;</span><pre class="prettyprint"><p><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln"> $cursor </span><span class="pun">=</span><span class="pln"> $articleCollection</span><span class="pun">-&gt;</span><span class="pln">find</span><span class="pun">(); </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln"> </span><span class="com">//skip the first five articles in the cursor </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln"> $cursor</span><span class="pun">-&gt;</span><span class="pln">skip</span><span class="pun">(</span><span class="lit">5</span><span class="pun">); </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln"> $cursor</span><span class="pun">-&gt;</span><span class="pln">limit</span><span class="pun">(</span><span class="lit">10</span><span class="pun">);</span><span class="com">//结果集只取10条 </span></span></p></pre><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">12 &nbsp;更新数据库 </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp;$articleCollection-&gt;update(array('_id' =&gt; new MongoId($id)), </span><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">$article); </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp;第一个参数为指定的条件（更新条件），第二个参数为要更新的对象 </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">还有可选参数如下； </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp;$collection-&gt;update($criteria, $newobj, array('safe' =&gt; True)); </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp;safe=true时，等到UPDATE结束才返回结果 </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; mongodb还支持upsert的操作：如果存在则更新，如果不存在则插入 </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp; $users-&gt;update(array('email' =&gt; 'alice@wonderland.com'), </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">array('firstname' &nbsp;=&gt; 'Alice', 'lastname'=&gt; 'Liddell'), </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">array('upsert' &nbsp;=&gt; True)); </span><br /><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp; &nbsp;这里对email为alice@wonderland.com的记录进行更新其firstname,lastname字段的内容 </span><br /><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">13 &nbsp;修饰符 </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp; &nbsp;比如set,只修改记录的某个部分，可以这样： </span></div> <div><pre class="prettyprint"><p><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln"> $articles</span><span class="pun">-&gt;</span><span class="pln">update</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">'_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="typ">MongoId</span><span class="pun">(</span><span class="str">'4dcd2abe5981'</span><span class="pun">)), </span></span><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln">array</span><span class="pun">(</span><span class="str">'$set'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'title'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'New </span></span><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="str">Title'</span><span class="pun">))); </span></span></p></pre><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp;使用inc: </span></div> <div><pre class="prettyprint"><p><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln"> $articles</span><span class="pun">-&gt;</span><span class="pln">update</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">'_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="typ">MongoId</span><span class="pun">(</span><span class="str">'4dcd2abe5981'</span><span class="pun">)), </span></span><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln">array</span><span class="pun">(</span><span class="str">'$set'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'content'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'New Content'</span><span class="pun">), </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="white-space: pre"><span class="pln"> </span></span><span class="str">'$inc'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'update_count'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="lit">1</span><span class="pun">))</span></span></p><p><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pun">); </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="com">// 将update_count+1 </span></span><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"><span class="com"> </span></span></p></pre><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; &nbsp;unset: </span></div> <div><pre class="prettyprint"><p><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln"> $articles</span><span class="pun">-&gt;</span><span class="pln">update</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">'_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="typ">MongoId</span><span class="pun">(</span><span class="str">'4dcd2abe5981'</span><span class="pun">)), </span></span><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln">array</span><span class="pun">(</span><span class="str">'$unset'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'title'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="kwd">True</span><span class="pun">))); </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln"> </span><span class="com">// 将title field从这个document中移除 </span></span></p></pre><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; 更名rename: </span></div> <div><pre class="prettyprint"><p><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln">$articles</span><span class="pun">-&gt;</span><span class="pln">update</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(), </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">array</span><span class="pun">(</span><span class="str">'$rename'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'saved_at'</span><span class="pln"> </span><span class="pun">=&gt; </span></span><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="str">'created_at'</span><span class="pun">)), </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">array</span><span class="pun">(</span><span class="str">'multiple'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="kwd">True</span><span class="pun">)</span></span></p><p><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pun">); </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="com">// &nbsp;将save_at更名为create_at </span></span></p></pre><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp;</span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">14 &nbsp;删除记录 </span></div> <div><pre class="prettyprint"><p><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln">$articleCollection</span><span class="pun">-&gt;</span><span class="pln">remove</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">'_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">MongoId</span><span class="pun">(</span><span class="pln">$id</span><span class="pun">))); </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln">$movies</span><span class="pun">-&gt;</span><span class="pln">remove</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">'genre'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="str">'drama'</span><span class="pun">), </span></span><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln">array</span><span class="pun">(</span><span class="str">'justOne'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="kwd">True</span><span class="pun">)); </span></span></p></pre><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; 如果加了justOne的参数，则只删除符合条件的一条记录而已，其他不删除 </span><br /><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">15 &nbsp;document的关系 </span></div> <div><span style="line-height: 25px"><br /></span></div> <div><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">1）嵌套 </span></div> <div><pre class="prettyprint"><p><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln"> &nbsp;</span><span class="pun">{ </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> &nbsp;</span><span style="white-space: pre"><span class="pln"> </span></span></span><span class="str">&quot;_id&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ">ObjectId</span><span class="pun">(</span><span class="str">&quot;4dd491695072aefc456c9aca&quot;</span><span class="pun">), </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> &nbsp;</span><span style="white-space: pre"><span class="pln"> </span></span></span><span class="str">&quot;username&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;alphareplicant&quot;</span><span class="pun">, </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> &nbsp;</span><span style="white-space: pre"><span class="pln"> </span></span></span><span class="str">&quot;email&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;roybatty@androids.org&quot;</span><span class="pun">, </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> &nbsp;</span><span style="white-space: pre"><span class="pln"> </span></span></span><span class="str">&quot;fullname&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;Roy Batty&quot;</span><span class="pun">, </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> &nbsp;</span><span style="white-space: pre"><span class="pln"> </span></span></span><span class="str">&quot;joined_at&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="typ">ISODate</span><span class="pun">(</span><span class="str">&quot;2011-05-19T03:41:29.703Z&quot;</span><span class="pun">), </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> </span><span style="white-space: pre"><span class="pln"> </span></span><span class="pln"> </span></span><span class="str">&quot;address&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pun">{ </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> &nbsp;</span><span style="white-space: pre"><span class="pln"> &nbsp;</span></span><span class="pln"> </span></span><span class="str">&quot;street&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;13 Tannhauser Gate&quot;</span><span class="pun">, </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> &nbsp;</span><span style="white-space: pre"><span class="pln"> &nbsp;</span></span><span class="pln"> </span></span><span class="str">&quot;city&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;Caprica&quot;</span><span class="pun">, </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> &nbsp;</span><span style="white-space: pre"><span class="pln"> &nbsp;</span></span><span class="pln"> </span></span><span class="str">&quot;state&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;CC&quot;</span><span class="pun">, </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> &nbsp;</span><span style="white-space: pre"><span class="pln"> &nbsp;</span></span><span class="pln"> </span></span><span class="str">&quot;zipcode&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">512</span><span class="pln"> </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> </span><span style="white-space: pre"><span class="pln"> </span></span><span class="pln"> </span></span><span class="pun">}, </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pun">} </span></span></p></pre><br /><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; 2）引用 </span></div> <div><span style="line-height: 25px"><br /></span></div> <div><pre class="prettyprint"><p><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln"> { </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> </span><span style="white-space: pre"><span class="pln"> </span></span></span><span class="pln">_id </span><span class="pun">:</span><span class="pln"> </span><span class="typ">ObjectId</span><span class="pun">(</span><span class="str">&quot;4dcd2abe5981aec801010000&quot;</span><span class="pun">), </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> </span><span style="white-space: pre"><span class="pln"> </span></span></span><span class="pln">title </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;The only perfect site is hind-site&quot;</span><span class="pun">, </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> </span><span style="white-space: pre"><span class="pln"> </span></span></span><span class="pln">content </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;Loren ipsum dolor sit amet&hellip;&quot;</span><span class="pun">, </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> </span><span style="white-space: pre"><span class="pln"> </span></span></span><span class="pln">saved_at </span><span class="pun">:</span><span class="pln"> </span><span class="typ">ISODate</span><span class="pun">(</span><span class="str">'2011-05-16T18:42:57.949Z'</span><span class="pun">), </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> </span><span style="white-space: pre"><span class="pln"> </span></span></span><span class="pln">author_id </span><span class="pun">:</span><span class="pln"> </span><span class="typ">ObjectId</span><span class="pun">(</span><span class="str">&quot;4dd491695072aefc456c9aca&quot;</span><span class="pun">) </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pun">} </span></span></p></pre><span style="color: #404040; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"><br /></span></div> <div><span style="color: #404040; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">3）比如一个一对多的关系： </span></div> <div><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; 比如一个文章下的评论：</span></div><pre class="prettyprint"><p><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln"> $comment </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">( </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> </span><span style="line-height: 22px"><span class="pln"> </span></span></span><span class="str">'name'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $_POST</span><span class="pun">[</span><span class="str">'commenter_name'</span><span class="pun">], </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span style="line-height: 22px"><span class="pln"> </span></span><span class="pln"> </span></span><span class="str">'email'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $_POST</span><span class="pun">[</span><span class="str">'commenter_email'</span><span class="pun">], </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span style="line-height: 22px"><span class="pln"> </span></span><span class="pln"> </span></span><span class="str">'comment'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $_POST</span><span class="pun">[</span><span class="str">'comment'</span><span class="pun">], </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> </span><span style="line-height: 22px"><span class="pln"> </span></span></span><span class="str">'posted_at'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">MongoDate</span><span class="pun">() </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pun">); </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln">$collection</span><span class="pun">-&gt;</span><span class="pln">update</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">'_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">MongoId</span><span class="pun">(</span><span class="pln">$id</span><span class="pun">)), </span></span><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln">array</span><span class="pun">(</span><span class="str">'$push'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'comments'</span><span class="pln"> </span><span class="pun">=&gt; </span></span><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln">$comments</span><span class="pun">))); </span></span><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"><span class="pun"> </span><span class="pln"> &nbsp;</span></span></p></pre> <div><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"><br /></span></div> <div><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">使用的是$push的修饰符，一般来说，用内嵌的document效率比较高 </span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa">或者： </span><br /><br /><pre class="prettyprint"><p><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$article </span><span class="pun">=</span><span class="pln"> $articleCollection</span><span class="pun">-&gt;</span><span class="pln">findOne</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">'_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">MongoId</span><span class="pun">(</span><span class="pln">$id</span><span class="pun">))); </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$comments </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$article</span><span class="pun">[</span><span class="str">'comments'</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $article</span><span class="pun">[</span><span class="str">'comments'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> array</span><span class="pun">(); </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$comment </span><span class="pun">=</span><span class="pln"> array</span><span class="pun">( </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="str">'name'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $_POST</span><span class="pun">[</span><span class="str">'commenter_name'</span><span class="pun">], </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="str">'email'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $_POST</span><span class="pun">[</span><span class="str">'commenter_email'</span><span class="pun">], </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="str">'comment'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> $_POST</span><span class="pun">[</span><span class="str">'comment'</span><span class="pun">], </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="str">'posted_at'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">MongoDate</span><span class="pun">() </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span class="pun">); </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">array_push</span><span class="pun">(</span><span class="pln">$comments</span><span class="pun">,</span><span class="pln"> $comment</span><span class="pun">); </span></span><br /><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$articleCollection</span><span class="pun">-&gt;</span><span class="pln">update</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">'_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">MongoId</span><span class="pun">(</span><span class="pln">$id</span><span class="pun">)),</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'$set'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> array</span><span class="pun">(</span><span class="str">'comments'</span><span class="pln"> </span><span class="pun">=&gt; </span></span><span style="line-height: 25.2px; font-family: Helvetica, Tahoma, Arial, sans-serif; white-space: normal"><span class="pln">$comments</span><span class="pun">))); </span></span><br /></p></pre><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; background-color: #fafafa"> &nbsp; 使用.号来查询子嵌套文档 </span></div> <div><span style="line-height: 25px"><br /></span></div> <div><pre class="prettyprint"><p><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pun">{ </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> &nbsp; </span><span style="white-space: pre"><span class="pln"> </span></span></span><span class="pln">name </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;Gordon Freeman&quot;</span><span class="pun">, </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> </span><span style="white-space: pre"><span class="pln"> </span></span></span><span class="pln">address </span><span class="pun">:</span><span class="pln"> </span><span class="pun">{ </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> &nbsp;</span><span style="white-space: pre"><span class="pln"> &nbsp;</span></span></span><span class="pln">city </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;Springfield&quot;</span><span class="pun">, </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> &nbsp;</span><span style="white-space: pre"><span class="pln"> &nbsp;</span></span></span><span class="pln">state </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;Florida&quot;</span><span class="pln"> </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> </span><span style="white-space: pre"><span class="pln"> </span></span></span><span class="pun">} </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pun">} </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln"> { </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> </span><span style="white-space: pre"><span class="pln"> </span></span></span><span class="pln">name </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;Lara Croft&quot;</span><span class="pun">, </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> </span><span style="white-space: pre"><span class="pln"> </span></span></span><span class="pln">address </span><span class="pun">:</span><span class="pln"> </span><span class="pun">{ </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> &nbsp;</span><span style="white-space: pre"><span class="pln"> &nbsp;</span></span></span><span class="pln">city </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;Miami&quot;</span><span class="pun">, </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> </span><span style="white-space: pre"><span class="pln"> &nbsp;</span></span><span class="pln"> </span></span><span class="pln">state</span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;Florida&quot;</span><span class="pln"> </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span style="line-height: 22px; white-space: pre"><span class="pln"> </span><span style="white-space: pre"><span class="pln"> </span></span></span><span class="pun">} </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pun">} </span></span><br /><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="com">// 则查询address中state为florida的document: </span></span></p><p><span style="line-height: 25px"><br /></span><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="pln"> $users</span><span class="pun">-&gt;</span><span class="pln">find</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">'address.city'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Springfield'</span><span class="pun">, </span></span><span style="color: #404040; line-height: 25px; font-family: arial, sans-serif, verdana, helvetica; white-space: normal; background-color: #fafafa"><span class="str">'address.state'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'Florida'</span><span class="pun">)); </span></span></p></pre></div><br/>Tags - <a href="tag.php?tag=mango" rel="tag">mango</a>
]]>
</description>
</item><item>
<link>http://www.bizeway.net/read.php?605</link>
<title><![CDATA[mongodb 数据备份及恢复 mongodump mongorestore  ]]></title> 
<author>ArthurXF &lt;arthurxf@gmail.com&gt;</author>
<category><![CDATA[Mongodb]]></category>
<pubDate>Fri, 26 Oct 2012 03:17:20 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?605</guid> 
<description>
<![CDATA[ 
	<strong><span style="font-size: small">一：数据备份mongodump</span></strong> <div><span style="font-size: small"><span style="line-height: 25px"><strong><br /></strong></span></span> <div> <div>可以用mongodump 来做MongoDB 的库或表级别的备份，下面举例说明:</div> <div>备份my_mongodb 数据库</div> <div><pre class="prettyprint"><p><span class="pun">[</span><span class="pln">root@localhost bin</span><span class="pun">]</span><span class="com"># ./mongodump -d my_mongodb</span><br /><span class="pln">connected to</span><span class="pun">:</span><span class="pln"> </span><span class="lit">127.0</span><span class="pun">.</span><span class="lit">0.1</span><br /><span class="pln">DATABASE</span><span class="pun">:</span><span class="pln"> my_mongodb to </span><span class="kwd">dump</span><span class="pun">/</span><span class="pln">my_mongodb</span><br /><span class="pln">my_mongodb</span><span class="pun">.</span><span class="pln">system</span><span class="pun">.</span><span class="pln">indexes to </span><span class="kwd">dump</span><span class="pun">/</span><span class="pln">my_mongodb</span><span class="pun">/</span><span class="pln">system</span><span class="pun">.</span><span class="pln">indexes</span><span class="pun">.</span><span class="pln">bson</span><br /><span class="lit">1</span><span class="pln"> objects</span><br /><span class="pln">my_mongodb</span><span class="pun">.</span><span class="pln">user to </span><span class="kwd">dump</span><span class="pun">/</span><span class="pln">my_mongodb</span><span class="pun">/</span><span class="pln">user</span><span class="pun">.</span><span class="pln">bson</span><br /><span class="lit">2</span><span class="pln"> objects</span><br /><span class="pun">[</span><span class="pln">root@localhost bin</span><span class="pun">]</span><span class="com"># ll</span><br /><span class="pun">总计</span><span class="pln"> </span><span class="lit">67648</span><br /><span class="pun">-</span><span class="pln">rwxr</span><span class="pun">-</span><span class="pln">xr</span><span class="pun">-</span><span class="pln">x </span><span class="lit">1</span><span class="pln"> root root </span><span class="lit">7508756</span><span class="pln"> </span><span class="lit">2011</span><span class="pun">-</span><span class="lit">04</span><span class="pun">-</span><span class="lit">06</span><span class="pln"> bsondump</span><br /><span class="pln">drwxr</span><span class="pun">-</span><span class="pln">xr</span><span class="pun">-</span><span class="pln">x </span><span class="lit">3</span><span class="pln"> root root </span><span class="lit">4096</span><span class="pln"> </span><span class="lit">04</span><span class="pun">-</span><span class="lit">10</span><span class="pln"> </span><span class="lit">23</span><span class="pun">:</span><span class="lit">54</span><span class="pln"> </span><span class="kwd">dump</span><br /><span class="pun">-</span><span class="pln">rwxr</span><span class="pun">-</span><span class="pln">xr</span><span class="pun">-</span><span class="pln">x </span><span class="lit">1</span><span class="pln"> root root </span><span class="lit">2978016</span><span class="pln"> </span><span class="lit">2011</span><span class="pun">-</span><span class="lit">04</span><span class="pun">-</span><span class="lit">06</span><span class="pln"> mongo</span></p></pre> <div>此时会在当前目录下创建一个dump 目录，用于存放备份出来的文件</div> <div>也可以指定备份存放的目录，</div></div> <div><pre class="prettyprint"><p><span class="pun">[</span><span class="pln">root@localhost bin</span><span class="pun">]</span><span class="com"># ./mongodump -d my_mongodb -o my_mongodb_dump</span><br /><span class="pln">connected to</span><span class="pun">:</span><span class="pln"> </span><span class="lit">127.0</span><span class="pun">.</span><span class="lit">0.1</span><br /><span class="pln">DATABASE</span><span class="pun">:</span><span class="pln"> my_mongodb to my_mongodb_dump</span><span class="pun">/</span><span class="pln">my_mongodb</span><br /><span class="pln">my_mongodb</span><span class="pun">.</span><span class="pln">system</span><span class="pun">.</span><span class="pln">indexes to</span><br /><span class="pln">my_mongodb_dump</span><span class="pun">/</span><span class="pln">my_mongodb</span><span class="pun">/</span><span class="pln">system</span><span class="pun">.</span><span class="pln">indexes</span><span class="pun">.</span><span class="pln">bson</span><br /><span class="lit">1</span><span class="pln"> objects</span><br /><span class="pln">my_mongodb</span><span class="pun">.</span><span class="pln">user to my_mongodb_dump</span><span class="pun">/</span><span class="pln">my_mongodb</span><span class="pun">/</span><span class="pln">user</span><span class="pun">.</span><span class="pln">bson</span><br /><span class="lit">2</span><span class="pln"> objects</span><br /><span class="pun">[</span><span class="pln">root@localhost bin</span><span class="pun">]</span><span class="com">#</span></p></pre><span style="font-size: small"><strong> <div><span style="font-size: small"><strong><br /></strong></span></div>二：数据恢复mongorestore</strong></span></div> <div><span style="font-size: small"><strong><br /></strong></span></div> <div>由于刚刚已经做了备份，所以我们先将库my_mongodb 删除掉</div> <div><pre class="prettyprint"><p><span class="pun">&gt;</span><span class="pln"> </span><span class="kwd">use</span><span class="pln"> my_mongodb</span><br /><span class="pln">switched to db my_mongodb</span><br /><span class="pun">&gt;</span><span class="pln"> db</span><span class="pun">.</span><span class="pln">dropDatabase</span><span class="pun">()</span><br /><span class="pun">{</span><span class="pln"> </span><span class="str">&quot;dropped&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;my_mongodb&quot;</span><span class="pun">,</span><span class="pln"> </span><span class="str">&quot;ok&quot;</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">}</span><br /><span class="pun">&gt;</span><span class="pln"> show dbs</span><br /><span class="pln">admin </span><span class="pun">(</span><span class="pln">empty</span><span class="pun">)</span><br /><span class="kwd">local</span><span class="pln"> </span><span class="pun">(</span><span class="pln">empty</span><span class="pun">)</span><br /><span class="pln">test </span><span class="pun">(</span><span class="pln">empty</span><span class="pun">)</span><br /><span class="pun">&gt;</span></p></pre>接下来我们进行数据库恢复</div> <div><pre class="prettyprint"><p><span class="pun">[</span><span class="pln">root@localhost bin</span><span class="pun">]</span><span class="com"># ./mongorestore -d my_mongodb my_mongodb_dump/*</span><br /><span class="pln">connected to</span><span class="pun">:</span><span class="pln"> </span><span class="lit">127.0</span><span class="pun">.</span><span class="lit">0.1</span><br /><span class="typ">Wed</span><span class="pln"> </span><span class="typ">Apr</span><span class="pln"> </span><span class="lit">11</span><span class="pln"> </span><span class="lit">00</span><span class="pun">:</span><span class="lit">03</span><span class="pun">:</span><span class="lit">03</span><span class="pln"> my_mongodb_dump</span><span class="pun">/</span><span class="pln">my_mongodb</span><span class="pun">/</span><span class="pln">user</span><span class="pun">.</span><span class="pln">bson</span><br /><span class="typ">Wed</span><span class="pln"> </span><span class="typ">Apr</span><span class="pln"> </span><span class="lit">11</span><span class="pln"> </span><span class="lit">00</span><span class="pun">:</span><span class="lit">03</span><span class="pun">:</span><span class="lit">03</span><span class="pln"> going </span><span class="kwd">into</span><span class="pln"> </span><span class="kwd">namespace</span><span class="pln"> </span><span class="pun">[</span><span class="pln">my_mongodb</span><span class="pun">.</span><span class="pln">user</span><span class="pun">]</span><br /><span class="typ">Wed</span><span class="pln"> </span><span class="typ">Apr</span><span class="pln"> </span><span class="lit">11</span><span class="pln"> </span><span class="lit">00</span><span class="pun">:</span><span class="lit">03</span><span class="pun">:</span><span class="lit">03</span><span class="pln"> </span><span class="lit">2</span><span class="pln"> objects found</span><br /><span class="typ">Wed</span><span class="pln"> </span><span class="typ">Apr</span><span class="pln"> </span><span class="lit">11</span><span class="pln"> </span><span class="lit">00</span><span class="pun">:</span><span class="lit">03</span><span class="pun">:</span><span class="lit">03</span><span class="pln"> my_mongodb_dump</span><span class="pun">/</span><span class="pln">my_mongodb</span><span class="pun">/</span><span class="pln">system</span><span class="pun">.</span><span class="pln">indexes</span><span class="pun">.</span><span class="pln">bson</span><br /><span class="typ">Wed</span><span class="pln"> </span><span class="typ">Apr</span><span class="pln"> </span><span class="lit">11</span><span class="pln"> </span><span class="lit">00</span><span class="pun">:</span><span class="lit">03</span><span class="pun">:</span><span class="lit">03</span><span class="pln"> going </span><span class="kwd">into</span><span class="pln"> </span><span class="kwd">namespace</span><span class="pln"> </span><span class="pun">[</span><span class="pln">my_mongodb</span><span class="pun">.</span><span class="pln">system</span><span class="pun">.</span><span class="pln">indexes</span><span class="pun">]</span><br /><span class="typ">Wed</span><span class="pln"> </span><span class="typ">Apr</span><span class="pln"> </span><span class="lit">11</span><span class="pln"> </span><span class="lit">00</span><span class="pun">:</span><span class="lit">03</span><span class="pun">:</span><span class="lit">03</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> name</span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;_id_&quot;</span><span class="pun">,</span><span class="pln"> ns</span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;my_mongodb.user&quot;</span><span class="pun">,</span><span class="pln"> key</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> _id</span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">},</span><span class="pln"> v</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> </span><span class="pun">}</span><br /><span class="typ">Wed</span><span class="pln"> </span><span class="typ">Apr</span><span class="pln"> </span><span class="lit">11</span><span class="pln"> </span><span class="lit">00</span><span class="pun">:</span><span class="lit">03</span><span class="pun">:</span><span class="lit">03</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> objects found</span><br /><span class="pun">[</span><span class="pln">root@localhost bin</span><span class="pun">]</span><span class="com">#</span></p></pre> <div>经验证数据库又回来了，其实要是想恢复库，也大可不必先删除my_mongodb 库，只要指</div> <div>明 &ndash;drop 参数，就可以在恢复的时候先删除表然后再向表中插入数据的</div></div></div></div><br/>Tags - <a href="tag.php?tag=mango" rel="tag">mango</a>
]]>
</description>
</item><item>
<link>http://www.bizeway.net/read.php?604</link>
<title><![CDATA[mongodb php 模糊查询 ]]></title> 
<author>ArthurXF &lt;arthurxf@gmail.com&gt;</author>
<category><![CDATA[Mongodb]]></category>
<pubDate>Fri, 26 Oct 2012 03:15:40 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?604</guid> 
<description>
<![CDATA[ 
	最近项目用到mongodb 的模糊查询，google搜到的方法，记录下Mongodb php 模糊查询 function query(){ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$m &nbsp;= new mongo('127.0.0.1',27017); &nbsp; &nbsp; &nbsp; &nbsp; $db = $m->selectDB('dbname'); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$coll= $db->selectCollection('collname'); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;$q &nbsp; = new MongoRegex("/word/"); &nbsp; &nbsp; &nbsp; &nbsp; //调用mongodb 正则 &nbsp; $cursor = $coll->find( array('field' => $q )); &nbsp; &nbsp; &nbsp; &nbsp; print $cursor->count(); &nbsp;} &nbsp;<br/>Tags - <a href="tag.php?tag=mango" rel="tag">mango</a>
]]>
</description>
</item><item>
<link>http://www.bizeway.net/read.php?603</link>
<title><![CDATA[MongoDB非正常关闭后修复记录]]></title> 
<author>ArthurXF &lt;arthurxf@gmail.com&gt;</author>
<category><![CDATA[Mongodb]]></category>
<pubDate>Fri, 26 Oct 2012 03:13:59 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?603</guid> 
<description>
<![CDATA[ 
	<p style="margin: 5px auto; color: #4b4b4b; line-height: 19px; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 13px">启动mongodb时，提示Unclean &nbsp;shutdown detected mongodb，解决方法很简单</p> <p style="margin: 5px auto; color: #4b4b4b; line-height: 19px; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 13px">mongod &nbsp;--repair --dbpath /var/db/mongodb</p> <p style="margin: 5px auto; color: #4b4b4b; line-height: 19px; font-family: verdana, Arial, helvetica, sans-seriff; font-size: 13px"></p><br/>Tags - <a href="tag.php?tag=mango" rel="tag">mango</a>
]]>
</description>
</item><item>
<link>http://www.bizeway.net/read.php?602</link>
<title><![CDATA[PHP操作MongoDB GridFS 存储文件]]></title> 
<author>ArthurXF &lt;arthurxf@gmail.com&gt;</author>
<category><![CDATA[Mongodb]]></category>
<pubDate>Fri, 26 Oct 2012 03:09:54 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?602</guid> 
<description>
<![CDATA[ 
	<pre class="prettyprint"><p><span class="pun">&lt;?</span><span class="pln">php </span><br /><span class="com">//初始化gridfs </span><br /><span class="pln">$conn </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Mongo</span><span class="pun">();</span><span class="pln"> </span><span class="com">//连接MongoDB </span><br /><span class="pln">$db </span><span class="pun">=</span><span class="pln"> $conn</span><span class="pun">-&gt;</span><span class="pln">photos</span><span class="pun">;</span><span class="pln"> </span><span class="com">//选择数据库 </span><br /><span class="pln">$grid </span><span class="pun">=</span><span class="pln"> $db</span><span class="pun">-&gt;</span><span class="pln">getGridFS</span><span class="pun">();</span><span class="pln"> </span><span class="com">//取得gridfs对象 </span><br /><br /><span class="com">//gridfs有三种方式存储文件 </span><br /><span class="com">//第一种直接存储文件 </span><br /><span class="pln">$id </span><span class="pun">=</span><span class="pln"> $grid</span><span class="pun">-&gt;</span><span class="pln">storeFile</span><span class="pun">(</span><span class="str">&quot;./logo.png&quot;</span><span class="pun">);</span><span class="pln"> </span><br /><br /><span class="com">//第二种存储文件二进制流 </span><br /><span class="pln">$data </span><span class="pun">=</span><span class="pln"> get_file_contents</span><span class="pun">(</span><span class="str">&quot;./logo.png&quot;</span><span class="pun">);</span><span class="pln"> </span><br /><span class="pln">$id </span><span class="pun">=</span><span class="pln"> $grid</span><span class="pun">-&gt;</span><span class="pln">storeBytes</span><span class="pun">(</span><span class="pln">$data</span><span class="pun">,</span><span class="pln">array</span><span class="pun">(</span><span class="str">&quot;parame&quot;</span><span class="pun">=&gt;&rsquo;附加参数将随图片一起存入&rsquo;));</span><span class="pln"> </span><br /><br /><span class="com">//第三种保存直接表单提交的文件$_FILES </span><br /><span class="pln">$id </span><span class="pun">=</span><span class="pln"> $grid</span><span class="pun">-&gt;</span><span class="pln">storeUpload</span><span class="pun">(</span><span class="str">'upfile'</span><span class="pun">);</span><span class="pln"> </span><br /><span class="com">//相当于 </span><br /><span class="pln">$id </span><span class="pun">=</span><span class="pln"> $grid</span><span class="pun">-&gt;</span><span class="pln">storeFile</span><span class="pun">(</span><span class="pln">$_FILES</span><span class="pun">[&lsquo;</span><span class="pln">upfile</span><span class="pun">&rsquo;][&lsquo;</span><span class="pln">tmp_name</span><span class="pun">&rsquo;]);</span><span class="pln"> </span><br /><br /><span class="com">//--------------以上是保存图片--下面开始读取图片---------------- </span><br /><br /><span class="com">//保存成功后返回$id = md5字符串 </span><br /><span class="pln">$logo </span><span class="pun">=</span><span class="pln"> $grid</span><span class="pun">-&gt;</span><span class="pln">findOne</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">'_id'</span><span class="pun">=&gt;</span><span class="pln">$id</span><span class="pun">));</span><span class="pln"> </span><span class="com">//以_id为索引取得文件 </span><br /><span class="pln">header</span><span class="pun">(</span><span class="str">'Content-type: image/png'</span><span class="pun">);</span><span class="pln"> </span><span class="com">//输出图片头 </span><br /><span class="pln">echo $logo </span><span class="pun">-&gt;</span><span class="pln">getBytes</span><span class="pun">();</span><span class="pln"> </span><span class="com">//输出数据流 </span><br /><span class="pun">?&gt;</span></p></pre><br /> <div><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun">GridFS是MongoDB的二进制数据存储在数据库中的解决方案，用来处理大文件。GridFS不是MongoDB自身特性，MongoDB没有实现它的代码。GridFS只是制定大文件在数据库中如何处理，是通过开发语言驱动来完成和通过API接口来存储检索大文件。</span><br /><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun">按照设计，MongoDB文档(BSON对象)不能超过16M，这是为了使性能保持在最高水平。如果文档超过16M，当查询时将占用大量的内存。</span><br /><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun">GridFS指定了将一个大文件分割成多个文档的机制。通过开发语言扩展来实现，例如php扩展，在存储时，分块存储，在检索时，合并分块。</span><br /><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun">开发人员无需知道内部细节，存储和处理文件是一个透明高效的方式。</span><br /><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun">GridFS存储在两个独立的集合中：文件和块。基本的想法是为每一个文件被存储在GridFS。文件将有一个文档包含文件名，大小，上传时间以及其他用户定义的元数据。文件的内容存储在一个或多个文档块中。 &nbsp;PHP是以256Kbyte大小来分块。</span><br /><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun">使用php来实现</span> &nbsp;</div> <div><pre class="prettyprint"><p><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span class="com"># vi upload.html</span></span><br /><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span class="str">&lt;html&gt;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span class="str">&lt;head&gt;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span class="pun">&lt;</span><span class="pln">meta http</span><span class="pun">-</span><span class="pln">equiv</span><span class="pun">=&rdquo;</span><span class="typ">Content</span><span class="pun">-</span><span class="typ">Type</span><span class="pun">&rdquo;</span><span class="pln"> content</span><span class="pun">=&rdquo;</span><span class="pln">text</span><span class="pun">/</span><span class="pln">html</span><span class="pun">;</span><span class="pln"> charset</span><span class="pun">=</span><span class="pln">utf</span><span class="pun">-</span><span class="lit">8</span><span class="pun">&Prime;/&gt;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span class="str">&lt;title&gt;</span><span class="typ">Upload</span><span class="pln"> </span><span class="typ">Files</span><span class="pun">&lt;</span><span class="str">/title&gt;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span class="str">&lt;/</span><span class="pln">head</span><span class="pun">&gt;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span class="str">&lt;body&gt;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="str">&lt;h2&gt;</span><span class="typ">Select</span><span class="pln"> files to upload</span><span class="pun">&lt;</span><span class="str">/h2&gt;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="str"> </span></span><span class="str">&lt;form enctype=&rdquo;multipart/</span><span class="pln">form</span><span class="pun">-</span><span class="pln">data</span><span class="pun">&rdquo;</span><span class="pln"> action</span><span class="pun">=&rdquo;/</span><span class="pln">store</span><span class="pun">.</span><span class="pln">php</span><span class="pun">&rdquo;</span><span class="pln"> method</span><span class="pun">=&rdquo;</span><span class="pln">post</span><span class="pun">&rdquo;&gt;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> &nbsp;</span></span><span class="pun">&lt;</span><span class="pln">input type</span><span class="pun">=&rdquo;</span><span class="pln">file</span><span class="pun">&rdquo;</span><span class="pln"> name</span><span class="pun">=&rdquo;</span><span class="pln">file</span><span class="pun">&rdquo;&gt;&lt;</span><span class="pln">br</span><span class="pun">&gt;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> &nbsp;</span></span><span class="pun">&lt;</span><span class="pln">input type</span><span class="pun">=&rdquo;</span><span class="pln">submit</span><span class="pun">&rdquo;</span><span class="pln"> name</span><span class="pun">=&rdquo;</span><span class="pln">submit</span><span class="pun">&rdquo;</span><span class="pln"> value</span><span class="pun">=&rdquo;</span><span class="typ">Upload</span><span class="pun">&rdquo;&gt;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pun">&lt;</span><span class="str">/form&gt;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span class="str">&lt;/</span><span class="pln">body</span><span class="pun">&gt;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span class="pun">&lt;/</span><span class="pln">html</span><span class="pun">&gt;</span></span><br /></p></pre><pre class="prettyprint"><p><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span class="pun">&lt;?</span><span class="pln">php</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$host</span><span class="pun">=</span><span class="str">&quot;127.0.0.1&quot;</span><span class="pun">;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$port</span><span class="pun">=</span><span class="str">&quot;27017&quot;</span><span class="pun">;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$dbname</span><span class="pun">=</span><span class="str">&quot;ttlsa&quot;</span><span class="pun">;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$coname</span><span class="pun">=</span><span class="str">&quot;ttlsa_com&quot;</span><span class="pun">;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="kwd">if</span><span class="pun">(</span><span class="pln">$_FILES</span><span class="pun">[</span><span class="str">'file'</span><span class="pun">][</span><span class="str">'error'</span><span class="pun">]</span><span class="pln"> </span><span class="pun">!==</span><span class="pln"> </span><span class="lit">0</span><span class="pun">){</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> &nbsp;</span></span><span class="kwd">die</span><span class="pun">(</span><span class="str">'Error upload file. Error code '</span><span class="pun">.</span><span class="pln">$_FILES</span><span class="pun">[</span><span class="str">'file'</span><span class="pun">][</span><span class="str">'error'</span><span class="pun">]);</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pun">}</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$filename</span><span class="pun">=</span><span class="pln">$_FILES</span><span class="pun">[</span><span class="str">'file'</span><span class="pun">][</span><span class="str">'name'</span><span class="pun">];</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$filetype</span><span class="pun">=</span><span class="pln">$_FILES</span><span class="pun">[</span><span class="str">'file'</span><span class="pun">][</span><span class="str">'type'</span><span class="pun">];</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$tmpfilepath</span><span class="pun">=</span><span class="pln">$_FILES</span><span class="pun">[</span><span class="str">'file'</span><span class="pun">][</span><span class="str">'tmp_name'</span><span class="pun">];</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$conn </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Mongo</span><span class="pun">(</span><span class="str">&quot;mongodb://&quot;</span><span class="pun">.</span><span class="pln">$host</span><span class="pun">.</span><span class="str">&quot;:&quot;</span><span class="pun">.</span><span class="pln">$port</span><span class="pun">,</span><span class="pln">array</span><span class="pun">(</span><span class="str">'timeout'</span><span class="pun">=&gt;</span><span class="lit">100</span><span class="pun">));</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$database </span><span class="pun">=</span><span class="pln"> $conn</span><span class="pun">-&gt;</span><span class="pln">selectDB</span><span class="pun">(</span><span class="pln">$dbname</span><span class="pun">);</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$collection </span><span class="pun">=</span><span class="pln"> $database</span><span class="pun">-&gt;</span><span class="pln">selectCollection</span><span class="pun">(</span><span class="pln">$coname</span><span class="pun">);</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$gridfs</span><span class="pun">=</span><span class="pln">$database</span><span class="pun">-&gt;</span><span class="pln">getGridFS</span><span class="pun">();</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$id</span><span class="pun">=</span><span class="pln">$gridfs</span><span class="pun">-&gt;</span><span class="pln">storeFile</span><span class="pun">(</span><span class="pln">$tmpfilepath</span><span class="pun">,</span><span class="pln">array</span><span class="pun">(</span><span class="str">'filename'</span><span class="pun">=&gt;</span><span class="pln">$filename</span><span class="pun">,</span><span class="str">'filetype'</span><span class="pun">=&gt;</span><span class="pln">$filetype</span><span class="pun">));</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">echo </span><span class="str">&quot;File Uploaded. ID: &quot;</span><span class="pun">.</span><span class="pln">$id</span><span class="pun">.</span><span class="str">&quot;&#92;n&quot;</span><span class="pun">;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span class="pun">?&gt;</span></span><br /></p></pre><pre class="prettyprint"><p><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span class="pun">&lt;?</span><span class="pln">php</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$host</span><span class="pun">=</span><span class="str">&quot;127.0.0.1&quot;</span><span class="pun">;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$port</span><span class="pun">=</span><span class="str">&quot;27017&quot;</span><span class="pun">;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$dbname</span><span class="pun">=</span><span class="str">&quot;ttlsa&quot;</span><span class="pun">;</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$id</span><span class="pun">=</span><span class="pln">$_GET</span><span class="pun">[</span><span class="str">'id'</span><span class="pun">];</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$conn </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Mongo</span><span class="pun">(</span><span class="str">&quot;mongodb://&quot;</span><span class="pun">.</span><span class="pln">$host</span><span class="pun">.</span><span class="str">&quot;:&quot;</span><span class="pun">.</span><span class="pln">$port</span><span class="pun">,</span><span class="pln">array</span><span class="pun">(</span><span class="str">'timeout'</span><span class="pun">=&gt;</span><span class="lit">100</span><span class="pun">));</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$database </span><span class="pun">=</span><span class="pln"> $conn</span><span class="pun">-&gt;</span><span class="pln">selectDB</span><span class="pun">(</span><span class="pln">$dbname</span><span class="pun">);</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$gridfs</span><span class="pun">=</span><span class="pln">$database</span><span class="pun">-&gt;</span><span class="pln">getGridFS</span><span class="pun">();</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">$object</span><span class="pun">=</span><span class="pln">$gridfs</span><span class="pun">-&gt;</span><span class="pln">findOne</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span><span class="str">'_id'</span><span class="pun">=&gt;</span><span class="kwd">new</span><span class="pln"> </span><span class="typ">MongoId</span><span class="pun">(</span><span class="pln">$id</span><span class="pun">)));</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">header</span><span class="pun">(</span><span class="str">'Content-type: '</span><span class="pun">.</span><span class="pln">$object</span><span class="pun">-&gt;</span><span class="pln">file</span><span class="pun">[</span><span class="str">'filetype'</span><span class="pun">]);</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span style="white-space: pre"><span class="pln"> </span></span><span class="pln">echo $object</span><span class="pun">-&gt;</span><span class="pln">getBytes</span><span class="pun">();</span></span><br /><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun; white-space: normal"><span class="pun">?&gt;</span></span><br /></p></pre><span style="color: #444444; line-height: 21px; font-family: Tahoma, &quot;Microsoft Yahei&quot;, Simsun">使用getBytes会有一个潜在的问题，将文件内容全部加载到内存中。如果读取大文件这种方式性能差。GridFS是将文件分块存储的，那么可以单独的从每个块读取和输出，从而避免上述问题。</span> &nbsp;</div><br/>Tags - <a href="tag.php?tag=mongo" rel="tag">mongo</a>
]]>
</description>
</item><item>
<link>http://www.bizeway.net/read.php?601</link>
<title><![CDATA[Mongodb MapReduce for PHP 操作 ]]></title> 
<author>ArthurXF &lt;arthurxf@gmail.com&gt;</author>
<category><![CDATA[Mongodb]]></category>
<pubDate>Fri, 26 Oct 2012 03:08:02 +0000</pubDate> 
<guid>http://www.bizeway.net/read.php?601</guid> 
<description>
<![CDATA[ 
	先生成测试数据： <div><pre class="prettyprint"><p><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pun">&lt;?</span><span class="pln">php</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;ini_set</span><span class="pun">(</span><span class="str">'mongo.native_long'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">);</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;$instance </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Mongo</span><span class="pun">();</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;$instance </span><span class="pun">=</span><span class="pln"> $instance</span><span class="pun">-&gt;</span><span class="pln">selectCollection</span><span class="pun">(</span><span class="str">'test'</span><span class="pun">,</span><span class="pln"> </span><span class="str">'test'</span><span class="pun">);</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;</span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> $i </span><span class="pun">&lt;</span><span class="pln"> </span><span class="lit">10</span><span class="pun">;</span><span class="pln"> $i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;$instance</span><span class="pun">-&gt;</span><span class="pln">insert</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;</span><span class="str">'group_id'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> rand</span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">5</span><span class="pun">),</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;</span><span class="str">'count'</span><span class="pln"> &nbsp; &nbsp;</span><span class="pun">=&gt;</span><span class="pln"> rand</span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">5</span><span class="pun">),</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;</span><span class="pun">));</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;</span><span class="pun">}</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> </span><span class="pun">?&gt;</span></span><br /></p></pre><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti">下面让我们使用group操作，根据group_id分组，汇总计算count，用</span><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti">MapReduce实现：</span></div> <div><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti"><br /></span></div> <div><span style="color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti"><span style="line-height: 21px">MapReduc用法：</span></span></div> <div><pre class="prettyprint"><p><span style="text-align: left; line-height: 1.3; font-family: &quot;Courier New&quot;, Courier, monospace; font-size: 13px; white-space: pre-wrap"><span class="pln">db</span><span class="pun">.</span><span class="pln">runCommand</span><span class="pun">(</span></span></p><pre style="padding: 0px; text-align: left; line-height: 1.3; font-family: &quot;Courier New&quot;, Courier, monospace; font-size: 13px; margin-top: 10px; margin-bottom: 10px; white-space: pre-wrap; overflow-x: auto; overflow-y: auto"><span class="pln"> </span><span class="pun">{</span><span class="pln"> mapreduce </span><span class="pun">:</span><span class="pln"> </span><span class="str">&lt;collection&gt;</span><span class="pun">,</span><br /><span class="pln"> &nbsp; map </span><span class="pun">:</span><span class="pln"> </span><span class="str">&lt;mapfunction&gt;</span><span class="pun">,</span><br /><span class="pln"> &nbsp; reduce </span><span class="pun">:</span><span class="pln"> </span><span class="str">&lt;reducefunction&gt;</span><span class="pun">,</span><br /><span class="pln"> &nbsp; </span><span class="kwd">out</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln">see output options below</span><span class="pun">&gt;</span><br /><span class="pln"> &nbsp; </span><span class="pun">[,</span><span class="pln"> query </span><span class="pun">:</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln">query filter </span><span class="kwd">object</span><span class="pun">&gt;]</span><br /><span class="pln"> &nbsp; </span><span class="pun">[,</span><span class="pln"> sort </span><span class="pun">:</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln">sorts the input objects </span><span class="kwd">using</span><span class="pln"> </span><span style="margin: 0px; color: #000091; background-color: inherit"><span class="kwd">this</span></span><span class="pln"> key</span><span class="pun">.</span><span class="pln"> </span><span class="typ">Useful</span><span class="pln"> </span><span style="margin: 0px; color: #000091; background-color: inherit"><span class="kwd">for</span></span><span class="pln"> optimization</span><span class="pun">,</span><span class="pln"> like sorting </span><span class="kwd">by</span><span class="pln"> the emit key </span><span style="margin: 0px; color: #000091; background-color: inherit"><span class="kwd">for</span></span><span class="pln"> fewer reduces</span><span class="pun">&gt;]</span><br /><span class="pln"> &nbsp; </span><span class="pun">[,</span><span class="pln"> limit </span><span class="pun">:</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln">number of objects to </span><span style="margin: 0px; color: #000091; background-color: inherit"><span class="kwd">return</span></span><span class="pln"> </span><span class="kwd">from</span><span class="pln"> collection</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">not</span><span class="pln"> supported </span><span class="kwd">with</span><span class="pln"> sharding</span><span class="pun">&gt;]</span><br /><span class="pln"> &nbsp; </span><span class="pun">[,</span><span class="pln"> keeptemp</span><span class="pun">:</span><span class="pln"> </span><span class="pun">&lt;</span><span style="margin: 0px; color: #000091; background-color: inherit"><span class="kwd">true</span></span><span class="pun">&#124;</span><span style="margin: 0px; color: #000091; background-color: inherit"><span class="kwd">false</span></span><span class="pun">&gt;]</span><br /><span class="pln"> &nbsp; </span><span class="pun">[,</span><span class="pln"> finalize </span><span class="pun">:</span><span class="pln"> </span><span class="str">&lt;finalizefunction&gt;</span><span class="pun">]</span><br /><span class="pln"> &nbsp; </span><span class="pun">[,</span><span class="pln"> scope </span><span class="pun">:</span><span class="pln"> </span><span class="pun">&lt;</span><span class="kwd">object</span><span class="pln"> </span><span class="kwd">where</span><span class="pln"> fields go </span><span class="kwd">into</span><span class="pln"> javascript </span><span class="kwd">global</span><span class="pln"> scope </span><span class="pun">&gt;]</span><br /><span class="pln"> &nbsp; </span><span class="pun">[,</span><span class="pln"> jsMode </span><span class="pun">:</span><span class="pln"> </span><span style="margin: 0px; color: #000091; background-color: inherit"><span class="kwd">true</span></span><span class="pun">]</span><br /><span class="pln"> &nbsp; </span><span class="pun">[,</span><span class="pln"> verbose </span><span class="pun">:</span><span class="pln"> </span><span style="margin: 0px; color: #000091; background-color: inherit"><span class="kwd">true</span></span><span class="pun">]</span><br /><span class="pln"> }</span><br /><span class="pun">);</span></pre><br /></pre>参数说明：</div> <div>mapreduc：要操作的目标集合。</div> <div>map：映射函数（生成键值对序列，作为 reduce 函数参数）。</div> <div>reduce：统计函数。</div> <div>query ：目标记录过滤。</div> <div>sort：目标记录排序。</div> <div>limit：限制目标记录数量。</div> <div>out：统计结果存放集合（不指定则使用临时集合，在客户端断开后自动删除）。</div> <div>keeptemp：是否保留临时集合。</div> <div>finalize：最终处理函数（对 reduce 返回结果进行最终整理后存入结果集合）。</div> <div>score：向 map、reduce、finalize 导入外部变量。</div> <div>verbose ： 显示详细的时间统计信息。</div> <div><pre class="prettyprint"><p><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pun">&lt;?</span><span class="pln">php</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;ini_set</span><span class="pun">(</span><span class="str">'mongo.native_long'</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">);</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;$instance </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Mongo</span><span class="pun">();</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;$instance </span><span class="pun">=</span><span class="pln"> $instance</span><span class="pun">-&gt;</span><span class="pln">selectDB</span><span class="pun">(</span><span class="str">'test'</span><span class="pun">);</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;$map </span><span class="pun">=</span><span class="pln"> </span><span class="str">'</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="str"> &nbsp; &nbsp;function() {</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="str"> &nbsp; &nbsp;emit(this.group_id, this.count);</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="str"> &nbsp; &nbsp;}</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="str"> &nbsp; &nbsp;'</span><span class="pun">;</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;$reduce </span><span class="pun">=</span><span class="pln"> </span><span class="str">'</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="str"> &nbsp; &nbsp;function(key, values) {</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="str"> &nbsp; &nbsp;var sum = 0;</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="str"> &nbsp; &nbsp;for (var index in values) {</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="str"> &nbsp; &nbsp;sum += values[index];</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="str"> &nbsp; &nbsp;}</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="str"> &nbsp; &nbsp;return sum;</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="str"> &nbsp; &nbsp;}</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="str"> &nbsp; &nbsp;'</span><span class="pun">;</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;$result </span><span class="pun">=</span><span class="pln"> $instance</span><span class="pun">-&gt;</span><span class="pln">command</span><span class="pun">(</span><span class="pln">array</span><span class="pun">(</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;</span><span class="str">'mapreduce'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'test'</span><span class="pun">,</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;</span><span class="str">'map'</span><span class="pln"> &nbsp; &nbsp; &nbsp; </span><span class="pun">=&gt;</span><span class="pln"> $map</span><span class="pun">,</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;</span><span class="str">'reduce'</span><span class="pln"> &nbsp; &nbsp;</span><span class="pun">=&gt;</span><span class="pln"> $reduce</span><span class="pun">，</span></span></p><p><span style="color: #454545; font-family: 'Microsoft Yahei', 微软雅黑, Tahoma, Arial, Helvetica, STHeiti"><span style="line-height: 21px; white-space: normal"><span class="pun"> </span><span class="pln"> &nbsp; </span><span class="str">'out'</span><span class="pln"> </span><span class="pun">=&gt;</span><span class="pln"> </span><span class="str">'test_res'</span></span></span></p><p><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;</span><span class="pun">));</span></span></p><p><span class="pln"> &nbsp;</span></p><p><span class="pln"> &nbsp;</span></p><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;$resData </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Mongo</span><span class="pun">();</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;$</span></span><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln">resData </span></span><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln">= $instance</span><span class="pun">-&gt;</span><span class="pln">selectDB</span><span class="pun">(</span><span class="str">'test_res'</span><span class="pun">);</span></span><br /><br /><div style="text-align: left"><span class="pln"> &nbsp;$result </span><span class="pun">=</span><span class="pln"> $resData</span><span class="pun">-&gt;</span><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln">find</span><span class="pun">();</span></span></div><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pun"> </span><span class="pln"> &nbsp; </span><span class="com">//$result = iterator_to_array($instance-&gt;{$result['result']}-&gt;find());</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;var_dump</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">);</span></span><br /><span style="color: #454545; line-height: 21px; font-family: &quot;Microsoft Yahei&quot;, 微软雅黑, Tahoma, Arial, Helvetica, STHeiti; white-space: normal"><span class="pln"> &nbsp; &nbsp;</span><span class="pun">?&gt;</span></span><br /></pre></div><br/>Tags - <a href="tag.php?tag=mongo" rel="tag">mongo</a>
]]>
</description>
</item>
</channel>
</rss>