欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MongoDB中對文檔的增刪查改基本操作方法總結(jié)

 更新時間:2016年06月30日 15:19:08   作者:鄧龍華  
MongoDB是一個NoSQL數(shù)據(jù)庫,其中document文檔就相當(dāng)于關(guān)系型數(shù)據(jù)庫中的行,這里我們初步整理了MongoDB中對文檔的增刪查改基本操作方法總結(jié),需要的朋友可以參考下:

插入文檔:insert() 方法

要插入數(shù)據(jù)到 MongoDB 集合,需要使用 MongoDB 的  insert() 或 save() 方法。

語法:

insert() 命令的基本語法如下:

 >db.COLLECTION_NAME.insert(document)

例子:

 >db.mycol.insert({    _id: ObjectId(7df78ad8902c),    title: 'MongoDB Overview',     description: 'MongoDB is no sql database',    by: 'tutorials point',    url: 'http://www.dbjr.com.cn',    tags: ['mongodb', 'database', 'NoSQL'],    likes: 100 })
這里 mycol  是集合的名稱,如前面的教程中創(chuàng)建。如果集合在數(shù)據(jù)庫中不存在,那么MongoDB 將創(chuàng)建此集合,然后把它插入文檔。

插入文檔中,如果我們不指定_id參數(shù),然后MongoDB 本文檔分配一個獨特的ObjectId。

_id 是12個字節(jié)的十六進制數(shù),唯一一個集合中的每個文檔。 12個字節(jié)被劃分如下:

 _id: ObjectId(4 bytes timestamp, 3 bytes machine id, 2 bytes process id, 3 bytes incrementer)

要插入單個查詢的多個文檔,可以傳遞一個數(shù)組 insert() 命令的文件。

示例:

 >db.post.insert([ {    title: 'MongoDB Overview',     description: 'MongoDB is no sql database',    by: 'tutorials point',    url: 'http://www.dbjr.com.cn',    tags: ['mongodb', 'database', 'NoSQL'],    likes: 100 }, {    title: 'NoSQL Database',     description: 'NoSQL database doesn't have tables',    by: 'tutorials point',    url: 'http://www.dbjr.com.cn',    tags: ['mongodb', 'database', 'NoSQL'],    likes: 20,     comments: [        {          user:'user1',          message: 'My first comment',          dateCreated: new Date(2013,11,10,2,35),          like: 0        }    ] } ])
要插入文件,也可以使用  db.post.save(document)。 如果不指定_id在文檔中,然后將其 save() 方法和 insert()方法工作一樣。如果指定_id,它會替換整個數(shù)據(jù)文件,其中包含_id 指定save()方法。


刪除文檔:remove() 方法

MongoDB的 remove() 方法用于從集合中刪除文檔。remove() 方法接受兩個參數(shù)。第一個是刪除criteria ,第二是justOne標(biāo)志:

(1)deletion criteria :(可選)刪除標(biāo)準(zhǔn),根據(jù)文件將被刪除。

(2)justOne : (可選)如果設(shè)置為true或1,然后只刪除一個文件。

語法:

基本語法remove()方法如下

 >db.COLLECTION_NAME.remove(DELLETION_CRITTERIA)

例子:

考慮以下數(shù)據(jù)mycol集合。

 { "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"} { "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"} { "_id" : ObjectId(5983548781331adf45ec7), "title":"Yiibai Overview"}
下面的例子將刪除所有的文件,其標(biāo)題是 'MongoDB Overview'

 >db.mycol.remove({'title':'MongoDB Overview'}) >db.mycol.find() { "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"} { "_id" : ObjectId(5983548781331adf45ec7), "title":"Yiibai Overview"} >
刪除只有一個。

如果有多個記錄且要刪除的只有第一條記錄,那么設(shè)置remove()方法中justOne參數(shù)

 >db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)

刪除所有文件:

如果不指定刪除條件,然后MongoDB將從集合中刪除整個文件。這相當(dāng)于SQL的truncate命令。

 >db.mycol.remove() >db.mycol.find() >


查詢文檔:
1.find() 方法
要從MongoDB 查詢集合數(shù)據(jù),需要使用MongoDB 的 find() 方法。

語法:

基本的find()方法語法如下

 >db.COLLECTION_NAME.find()

find() 方法將在非結(jié)構(gòu)化的方式顯示所有的文件。

2.pretty() 方法

結(jié)果顯示在一個格式化的方式,可以使用 pretty() 方法.

語法:

 >db.mycol.find().pretty()

例子:

 >db.mycol.find().pretty() {    "_id": ObjectId(7df78ad8902c),    "title": "MongoDB Overview",     "description": "MongoDB is no sql database",    "by": "tutorials point",    "url": "http://www.dbjr.com.cn",    "tags": ["mongodb", "database", "NoSQL"],    "likes": "100" } >
除了find() 方法外,還有一個 findOne() 法,返回一個文件。

RDBMS Where子句和MongoDB等同語句.

要查詢文件的一些條件的基礎(chǔ)上,可以使用下面的操作

操作 語法 例子 RDBMS 等同
Equality key db.mycol.find({"by":"tutorials point"}).pretty() where by = 'tutorials point'
Less Than {<key>:{$lt:<value>}} db.mycol.find({"likes":{$lt:50}}).pretty() where likes < 50
Less Than Equals {<key>:{$lte:<value>}} db.mycol.find({"likes":{$lte:50}}).pretty() where likes <= 50
Greater Than {<key>:{$gt:<value>}} db.mycol.find({"likes":{$gt:50}}).pretty() where likes > 50
Greater Than Equals {<key>:{$gte:<value>}} db.mycol.find({"likes":{$gte:50}}).pretty() where likes >= 50
Not Equals {<key>:{$ne:<value>}} db.mycol.find({"likes":{$ne:50}}).pretty() where likes != 50

3.AND 在MongoDB中用法

語法:

在  find() 方法,如果通過多個鍵分離',',那么 MongoDB 處理 AND 條件。AND 基本語法如下所示:

 >db.mycol.find({key1:value1, key2:value2}).pretty()

例子

下面給出的例子將顯示所有的教程,標(biāo)題是“MongoDB Overview“

 >db.mycol.find({"by":"tutorials point","title": "MongoDB Overview"}).pretty() {    "_id": ObjectId(7df78ad8902c),    "title": "MongoDB Overview",     "description": "MongoDB is no sql database",    "by": "yiibai",    "url": "http://www.dbjr.com.cn",    "tags": ["mongodb", "database", "NoSQL"],    "likes": "100" } >
對于上面給出的例子相當(dāng)于where子句 ' where by='yiibai' AND title='MongoDB Overview' , 可以通過任意數(shù)量的鍵值對在 find 子句。

4.MongoDB中OR

語法:

OR條件的基礎(chǔ)上要查詢文件,需要使用$or關(guān)鍵字。OR 基本語法如下所示: 

 >db.mycol.find(  {    $or: [    {key1: value1}, {key2:value2}    ]  } ).pretty()

例子

下面給出的例子將顯示所有的教程,由'yiibai' 所寫或標(biāo)題是“MongoDB Overview '

 >db.mycol.find({$or:[{"by":"yiibai"},{"title": "MongoDB Overview"}]}).pretty() {    "_id": ObjectId(7df78ad8902c),    "title": "MongoDB Overview",     "description": "MongoDB is no sql database",    "by": "yiibai",    "url": "http://www.dbjr.com.cn",    "tags": ["mongodb", "database", "NoSQL"],    "likes": "100" } >
5.AND 和 OR 一起使用

例子

下面給出的例子將顯示有像的文件大于100,其標(biāo)題是“MongoDB Overview'或者是'yiibai' 。等效于 SQL where子句 為 

'where likes>10 AND (by = 'yiibai' OR title = 'MongoDB Overview')'

 >db.mycol.find("likes": {$gt:10}, $or: [{"by": "yiibai"}, {"title": "MongoDB Overview"}] }).pretty() {    "_id": ObjectId(7df78ad8902c),    "title": "MongoDB Overview",     "description": "MongoDB is no sql database",    "by": "yiibai",    "url": "http://www.dbjr.com.cn",    "tags": ["mongodb", "database", "NoSQL"],    "likes": "100" } >

 

 更新文檔
 MongoDB的 update() 和 save() 方法用于更新文檔的集合。 update()方法更新現(xiàn)有的文檔值,而替換現(xiàn)有的文檔通過的文件中 save() 方法。

1.MongoDB Update() 方法

update()方法更新現(xiàn)有文檔值。

語法:

update() 方法的基本語法如下

 >db.COLLECTION_NAME.update(SELECTIOIN_CRITERIA, UPDATED_DATA)

例子

考慮以下數(shù)據(jù)mycol集合。

 { "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"} { "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"} { "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"}
下面的例子將設(shè)置新標(biāo)題'MongoDB Overview'的文件,更新其標(biāo)題是“New MongoDB Tutorial”

 >db.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'New MongoDB Tutorial'}}) >db.mycol.find() { "_id" : ObjectId(5983548781331adf45ec5), "title":"New MongoDB Tutorial"} { "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"} { "_id" : ObjectId(5983548781331adf45ec7), "title":"Yiibai Overview"} >
MongoDB默認將只更新單一的文件,來更新多個你需要設(shè)置參數(shù)置'multi' 為true

 >db.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'New MongoDB Tutorial'}},{multi:true})
2.MongoDB Save() 方法

 save() 方法替換現(xiàn)有的文檔和通過新的文檔 save() 方法

語法

MongoDB 的 save() 方法的基本語法如下:

 >db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA})

例子

下面的例子將取代文件具有_id為 '5983548781331adf45ec7'

 >db.mycol.save(    {       "_id" : ObjectId(5983548781331adf45ec7), "title":"Yiibai New Topic", "by":"Yiibai"    } ) >db.mycol.find() { "_id" : ObjectId(5983548781331adf45ec5), "title":"Yiibai New Topic", "by":"Yiibai"} { "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"} { "_id" : ObjectId(5983548781331adf45ec7), "title":"Yiibai Overview"} >
  

 


 

相關(guān)文章

  • CentOS7.2 安裝 MongoDB 3.4的教程

    CentOS7.2 安裝 MongoDB 3.4的教程

    這篇文章主要介紹了CentOS7.2 安裝 MongoDB 3.4的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • MongoDB 內(nèi)存管理相關(guān)總結(jié)

    MongoDB 內(nèi)存管理相關(guān)總結(jié)

    這篇文章主要介紹了MongoDB 內(nèi)存管理的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用MongoDB數(shù)據(jù)庫,感興趣的朋友可以了解下
    2021-03-03
  • 淺析Mongodb性能優(yōu)化的相關(guān)問題

    淺析Mongodb性能優(yōu)化的相關(guān)問題

    數(shù)據(jù)庫性能對軟件整體性能的影響是不言而喻的,那么,當(dāng)我們使用MongoDB時改如何提高數(shù)據(jù)庫性能呢?這篇文章通過范式化與反范式化、填充因子的使用和索引的使用三個方面來談了談Mongodb性能優(yōu)化的相關(guān)問題,有需要的朋友們下面來一起看看吧。
    2016-10-10
  • Mac下安裝配置mongodb并創(chuàng)建用戶的方法

    Mac下安裝配置mongodb并創(chuàng)建用戶的方法

    最近在在學(xué)習(xí)nodejs,相比mysql,mongodb與nodejs搭配更合適,存儲數(shù)據(jù)格式也比較接近JS對象。下面這篇文章主要給大家介紹了關(guān)于在Mac下安裝配置mongodb并創(chuàng)建用戶的相關(guān)資料,需要的朋友可以參考下
    2018-05-05
  • Windows下把MongoDB安裝為系統(tǒng)服務(wù)的方法

    Windows下把MongoDB安裝為系統(tǒng)服務(wù)的方法

    這篇文章主要介紹了Windows下把MongoDB安裝為系統(tǒng)服務(wù)的方法,本文詳細介紹了將mongoDB安裝為WinXP下系統(tǒng)服務(wù)的過程,需要的朋友可以參考下
    2014-10-10
  • mongodb 4.0副本集搭建的全過程

    mongodb 4.0副本集搭建的全過程

    這篇文章主要給大家介紹了關(guān)于mongodb 4.0副本集搭建的全過程,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用mongodb 4.0具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 開發(fā)分布式醫(yī)療掛號系統(tǒng)MongoDB集成實現(xiàn)上傳醫(yī)院接口

    開發(fā)分布式醫(yī)療掛號系統(tǒng)MongoDB集成實現(xiàn)上傳醫(yī)院接口

    這篇文章主要介紹了開發(fā)分布式醫(yī)療掛號系統(tǒng)MongoDB集成實現(xiàn)上傳醫(yī)院接口,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • MongoDB數(shù)據(jù)庫索引用法詳解

    MongoDB數(shù)據(jù)庫索引用法詳解

    本文詳細講解了MongoDB數(shù)據(jù)庫索引的用法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • MongoDB分片鍵的選擇和案例實例詳解

    MongoDB分片鍵的選擇和案例實例詳解

    分片集群中良好的查詢性能都依賴于正確選擇分片鍵。下面這篇文章主要給大家介紹了關(guān)于MongoDB分片鍵的選擇和案例的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • MongoDB入門教程之細說MongoDB數(shù)據(jù)庫的增刪查改操作

    MongoDB入門教程之細說MongoDB數(shù)據(jù)庫的增刪查改操作

    這篇文章主要介紹了MongoDB入門教程之細說MongoDB數(shù)據(jù)庫的增刪查改操作,本文環(huán)境是windows,所以以圖片形式講解,需要的朋友可以參考下
    2014-08-08

最新評論