mongodb数据库基本操作

WBOY
WBOYオリジナル
2016-06-07 14:50:351451ブラウズ

一般来说,涉及到mongodb的操作主要有四种:增删查改。 nodejs可以很方便简洁的实现这些操作。 准备工作: ①、连接mongodb服务器 var SERVER = new mongodb.Server( 'localhost' , 27017 , {auto_reconnect: true }); 这里SERVER就指本地(localhost)的服

一般来说,涉及到mongodb的操作主要有四种:增删查改。

nodejs可以很方便简洁的实现这些操作。

准备工作:
①、连接mongodb服务器

<code class=" hljs cs"><span class="hljs-keyword">var</span> SERVER  = <span class="hljs-keyword">new</span> mongodb.Server(<span class="hljs-string">'localhost'</span>, <span class="hljs-number">27017</span>, {auto_reconnect:<span class="hljs-keyword">true</span>});</code>

这里SERVER就指本地(localhost)的服务器

②、连接服务器上的数据库

<code class=" hljs cs"><span class="hljs-keyword">var</span> DB = <span class="hljs-keyword">new</span> mongodb.Db(<span class="hljs-string">'users'</span>, SERVER, {safe:<span class="hljs-keyword">true</span>});</code>

SERVER指上面的数据库所在服务器,这里DB指SERVER上的user这个数据库。

③、打开数据库。
上面的连接好了以后,我们就可以打开数据库了。打开方式如下:

<code class=" hljs javascript">DB.open(<span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">(err, db)</span>{</span>
        <span class="hljs-keyword">if</span> (err) {
            <span class="hljs-comment">// throw err</span>
        } <span class="hljs-keyword">else</span> {
            <span class="hljs-comment">// 打开成功, db就是打开的数据库,接下来“增删改查”的操作都对这个db来就可以了</span>
        }
}</code>

当然,我们一般不是直接对于一个数据库整体进行操作,而是针对其中的某一个collection来操作的,那么可以这样:

<code class=" hljs cs"><span class="hljs-keyword">var</span> Xcollection = db.collection(<span class="hljs-string">"userslist"</span>);</code>

这样Xcollection就指向了上面db数据库中的”userslist”这个collection了。

但是,如果是第一次使用这个collection,可以输入mongo命令创建一个名为“userslist”的collection,或者用如下的方法新建之并继续操作:

<code class=" hljs javascript">db.createCollection(<span class="hljs-string">'userslist'</span>, {safe:<span class="hljs-literal">true</span>}, <span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">(err, Xcollection)</span>{</span>
    <span class="hljs-comment">//同样在这里可以操作Xcollection,和上面意义是一样的。</span>
}</code>

使用db.createCollection(),如果该collection已存在,那么就仅仅是打开而已。

++++++++++++++++++++++++++++++++++++++++++
1、增
向collection中增加一个user对象(像{“a”:”b”}这种格式),可以这样来做:

<code class=" hljs javascript">collection.insert(user, {safe:<span class="hljs-literal">true</span>}, <span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">(err, result)</span>{</span>
    <span class="hljs-comment">// result是一个对象,表示插入数据的结果</span>
})</code>

2、查
在collection中,查询一个user对象可以这样来做:

<code class=" hljs javascript">collection.find(user).toArray(<span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">(err, items)</span> {</span>
    <span class="hljs-comment">//items是一个对象数组,从0开始编号,items.length表示查找到的对象个数</span>
})</code>

不过这里需要注意,查询出来的所有结果userX,并不一定是与user完全相等,只要userX中包含了user所有的键值对并且值都相等,那么userX就会被包含在items[]中。

3、改
待续

4、删
待续, too

诶,说的都是最浅显的内容了,更全面的还是看官方文档吧。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。