中文国产日韩欧美视频,午夜精品999,色综合天天综合网国产成人网,色综合视频一区二区观看,国产高清在线精品,伊人色播,色综合久久天天综合观看

MongoDB之增刪改查(一) -電腦資料

電腦資料 時間:2019-01-01 我要投稿
【www.szmdbiao.com - 電腦資料】

    本文主要介紹MongoDB數(shù)據(jù)庫增刪改查操作,

MongoDB之增刪改查(一)

。


    mongoDB和其他關系型數(shù)據(jù)庫一樣,通過insert來增加數(shù)據(jù)到集合中去。

   

<code class="hljs avrasm">db.collectionName.insert(內容)</code>

    顯示數(shù)據(jù)庫中所有集合:

<code class="hljs avrasm"><code class="hljs sql">show collections</code></code>

    <喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxociAvPg0KPGgyIGlkPQ=="刪">

    MongoDB中通過remove來刪除集合中符合一定條件的文檔。

    remove接受一個參數(shù),作為尋找要刪除文檔的條件:

   

    當然了,也可以直接刪除一整個集合,通過drop方法:

<code class="hljs avrasm"><code class="hljs sql"><code class="hljs avrasm">db.person.drop()</code></code></code>

   

    刪除集合然后重建索引比刪除集合中所有的文檔速度要快。


    修改操作相比增加和刪除而言較為復雜,因為MongoDB不僅僅可以使用update方法,還可以使用很多的輔助修改器,我們先來說說update方法。

update

    update方法接受兩個參數(shù),第一個是找到文檔的限定條件,第二個需要修改的新文檔:

   

    上面update中的({“name”:”liufang”},post),中的name:liufang相當于關系型數(shù)據(jù)庫中的where中的判斷條件,而post則相對于set語句后的執(zhí)行內容。

    更新最簡單的就是使用一個新文檔來替代匹配的文檔,這適用于模式結構發(fā)生較大變化的時候.如將下面的文檔:

<code class="hljs avrasm"><code class="hljs sql"><code class="hljs avrasm"><code class="hljs vbscript">{  "name":"tyq",  "age":22,  “date”:new Date()}</code></code></code></code>

    修改為:

<code class="hljs avrasm"><code class="hljs sql"><code class="hljs avrasm"><code class="hljs vbscript"><code class="hljs bash">{  "name":"tyq",    “age”:22,    “friends”:”liufang”}</code></code></code></code></code>

    如下圖:

   

修改器

    再來談談MongoDB強大的修改器。

    MongoDB有著一些輔助修改器,比如inc,set,unset,unset,push,pop,addToset,each等等。我們來一一介紹:

$inc

    $inc用來增加和減少鍵或者值。

    當其用來增加已有鍵的值時,如果不存在鍵,就增加該鍵。通常用于分析數(shù)據(jù),投票等位置。如:

<code class="hljs avrasm"><code class="hljs sql"><code class="hljs avrasm"><code class="hljs vbscript"><code class="hljs bash"><code class="hljs avrasm">db.person.insert(  {"url":"blog.csdn.net/mevicky"})</code></code></code></code></code></code>

    使用$inc增加一個鍵pageViews,默認值為10000

<code class="hljs avrasm"><code class="hljs sql"><code class="hljs avrasm"><code class="hljs vbscript"><code class="hljs bash"><code class="hljs avrasm"><code class="hljs avrasm">db.person.update(  {"url":"blog.csdn.net/mevicky"},  {"$inc":{"pageViews":10000}})</code></code></code></code></code></code></code>

    使用$inc給鍵pageViews再添加10000

<code class="hljs avrasm"><code class="hljs sql"><code class="hljs avrasm"><code class="hljs vbscript"><code class="hljs bash"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm">db.person.update(  {"url":"blog.csdn.net/mevicky"},  {"$inc":{"pageViews":10000}})</code></code></code></code></code></code></code></code>

    也可以使用$inc給鍵pageViews減少10000

<code class="hljs avrasm"><code class="hljs sql"><code class="hljs avrasm"><code class="hljs vbscript"><code class="hljs bash"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm">db.person.update(  {"url":"blog.csdn.net/mevicky"},  {"$inc":{"pageViews":-10000}})</code></code></code></code></code></code></code></code></code>

    示例如下:

   

$set

    $set用來指定一個鍵的值,如果鍵不存在,則創(chuàng)建該鍵,一般用于更新值或者增加新定義的鍵。如:

<code class="hljs avrasm"><code class="hljs sql"><code class="hljs avrasm"><code class="hljs vbscript"><code class="hljs bash"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm">db.person.insert(  {    "name":"lf",    "age":23,    "sex":"male"  })</code></code></code></code></code></code></code></code></code></code>

    添加喜歡的書籍:

<code class="hljs avrasm"><code class="hljs sql"><code class="hljs avrasm"><code class="hljs vbscript"><code class="hljs bash"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm">db.person.update(  {    "name":"lf"  },  {    "$set":{"book":"war and peace"}  })</code></code></code></code></code></code></code></code></code></code></code>

    修改喜歡的書籍:

<code class="hljs avrasm"><code class="hljs sql"><code class="hljs avrasm"><code class="hljs vbscript"><code class="hljs bash"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm">db.person.update(  {    "name":"lf"  },  {    "$set":{"book":"war and peace2"}  })</code></code></code></code></code></code></code></code></code></code></code></code>

    示例如下:

   

$unset

    $unset用于將鍵刪除,如果沒有找到也不會報錯,

電腦資料

MongoDB之增刪改查(一)》(http://www.szmdbiao.com)。

<code class="hljs avrasm"><code class="hljs sql"><code class="hljs avrasm"><code class="hljs vbscript"><code class="hljs bash"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm">db.person.update(  {    "name":"lf"  },  {    "$unset":{"book":1}  })</code></code></code></code></code></code></code></code></code></code></code></code></code>

$push

    push和pop只能用在數(shù)組類型,如果指定的鍵已存在,$push會向已有數(shù)組的末尾加入一個元素,如果鍵不存在,就創(chuàng)建一個新數(shù)組。

    例如,向以上文檔中,添加一個包含一個數(shù)組的”comment”鍵,還向 comment 數(shù)組push一個評論.

    這個數(shù)組會自動創(chuàng)建,并加入評論:

<code class="hljs avrasm"><code class="hljs sql"><code class="hljs avrasm"><code class="hljs vbscript"><code class="hljs bash"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm">db.person.update(  {"name":"lf"},  {     $push:    {      "comments":      {        "name":"tyq",        "content":"nice"      }    }  })</code></code></code></code></code></code></code></code></code></code></code></code></code></code>

    示例如下:

   

$pop

    pop和push類似,只不過其是從數(shù)組刪除元素,其可以從數(shù)組任何一端刪除元素:

<code class="hljs avrasm"><code class="hljs sql"><code class="hljs avrasm"><code class="hljs vbscript"><code class="hljs bash"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs php">{$pop:{key:1}}//從數(shù)組末尾刪除一個元素{$pop:{key:-1}}//從數(shù)組頭部刪除一個元素</code></code></code></code></code></code></code></code></code></code></code></code></code></code></code>

$pull

    $pull可以根據(jù)指定的特定條件刪除元素,也可以根據(jù)位置刪除元素:

<code class="hljs avrasm"><code class="hljs sql"><code class="hljs avrasm"><code class="hljs vbscript"><code class="hljs bash"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs php"><code class="hljs perl">db.person.update(  {"name":"lf"},  {    "$pull":    {      "emails":"362512489@qq.com"    }  })</code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code>

    $pull會將所有匹配的部分刪掉,比如數(shù)組【1,2,3,4,4,4】,執(zhí)行pull 4后,得到的數(shù)組是【1,2,3】

$addToSet

    $addToSet用于向數(shù)組添加數(shù)據(jù),如果數(shù)組中有,則不再重復添加。

$each

    $each用來運行修改器向集合多次操作數(shù)據(jù),可以利用$addToSet和$each一起來添加不同的值:

<code class="hljs avrasm"><code class="hljs sql"><code class="hljs avrasm"><code class="hljs vbscript"><code class="hljs bash"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs avrasm"><code class="hljs php"><code class="hljs perl"><code class="hljs perl">db.users.update(  {"name":"lf"},  {    "$addToSet":    {      "emails":      {        "$each":        [          "362512489@111.com",          "362512489@112.com",          "362512489@113.com"        ]      }    }  })</code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code></code>

最新文章