一级毛片免费不卡在线视频,国产日批视频免费在线观看,菠萝菠萝蜜在线视频免费视频,欧美日韩亚洲无线码在线观看,久久精品这里精品,国产成人综合手机在线播放,色噜噜狠狠狠综合曰曰曰,琪琪视频

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

電腦資料 時(shí)間:2019-01-01 我要投稿
【www.oriental01.com - 電腦資料】

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

MongoDB之增刪改查(一)

。


    mongoDB和其他關(guān)系型數(shù)據(jù)庫(kù)一樣,通過(guò)insert來(lái)增加數(shù)據(jù)到集合中去。

   

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

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

<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中通過(guò)remove來(lái)刪除集合中符合一定條件的文檔。

    remove接受一個(gè)參數(shù),作為尋找要?jiǎng)h除文檔的條件:

   

    當(dāng)然了,也可以直接刪除一整個(gè)集合,通過(guò)drop方法:

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

   

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


    修改操作相比增加和刪除而言較為復(fù)雜,因?yàn)镸ongoDB不僅僅可以使用update方法,還可以使用很多的輔助修改器,我們先來(lái)說(shuō)說(shuō)update方法。

update

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

   

    上面update中的({“name”:”liufang”},post),中的name:liufang相當(dāng)于關(guān)系型數(shù)據(jù)庫(kù)中的where中的判斷條件,而post則相對(duì)于set語(yǔ)句后的執(zhí)行內(nèi)容。

    更新最簡(jiǎn)單的就是使用一個(gè)新文檔來(lái)替代匹配的文檔,這適用于模式結(jié)構(gòu)發(fā)生較大變化的時(shí)候.如將下面的文檔:

<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>

    如下圖:

   

修改器

    再來(lái)談?wù)凪ongoDB強(qiáng)大的修改器。

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

$inc

    $inc用來(lái)增加和減少鍵或者值。

    當(dāng)其用來(lái)增加已有鍵的值時(shí),如果不存在鍵,就增加該鍵。通常用于分析數(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增加一個(gè)鍵pageViews,默認(rèn)值為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用來(lái)指定一個(gè)鍵的值,如果鍵不存在,則創(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>

    添加喜歡的書(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">db.person.update(  {    "name":"lf"  },  {    "$set":{"book":"war and peace"}  })</code></code></code></code></code></code></code></code></code></code></code>

    修改喜歡的書(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">db.person.update(  {    "name":"lf"  },  {    "$set":{"book":"war and peace2"}  })</code></code></code></code></code></code></code></code></code></code></code></code>

    示例如下:

   

$unset

    $unset用于將鍵刪除,如果沒(méi)有找到也不會(huì)報(bào)錯(cuò),

電腦資料

MongoDB之增刪改查(一)》(http://www.oriental01.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會(huì)向已有數(shù)組的末尾加入一個(gè)元素,如果鍵不存在,就創(chuàng)建一個(gè)新數(shù)組。

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

    這個(gè)數(shù)組會(huì)自動(dòng)創(chuàng)建,并加入評(pí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類似,只不過(guò)其是從數(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ù)組末尾刪除一個(gè)元素{$pop:{key:-1}}//從數(shù)組頭部刪除一個(gè)元素</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會(huì)將所有匹配的部分刪掉,比如數(shù)組【1,2,3,4,4,4】,執(zhí)行pull 4后,得到的數(shù)組是【1,2,3】

$addToSet

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

$each

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

<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>

最新文章