亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MongoDB > 正文

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

2020-10-29 18:49:12
字體:
來源:轉載
供稿:網友

插入文檔:insert() 方法

要插入數據到 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.49028c.com',    tags: ['mongodb', 'database', 'NoSQL'],    likes: 100 })
這里 mycol  是集合的名稱,如前面的教程中創建。如果集合在數據庫中不存在,那么MongoDB 將創建此集合,然后把它插入文檔。

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

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

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

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

示例:

 >db.post.insert([ {    title: 'MongoDB Overview',     description: 'MongoDB is no sql database',    by: 'tutorials point',    url: 'http://www.49028c.com',    tags: ['mongodb', 'database', 'NoSQL'],    likes: 100 }, {    title: 'NoSQL Database',     description: 'NoSQL database doesn't have tables',    by: 'tutorials point',    url: 'http://www.49028c.com',    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,它會替換整個數據文件,其中包含_id 指定save()方法。


刪除文檔:remove() 方法

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

(1)deletion criteria :(可選)刪除標準,根據文件將被刪除。

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

語法:

基本語法remove()方法如下

 >db.COLLECTION_NAME.remove(DELLETION_CRITTERIA)

例子:

考慮以下數據mycol集合。

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

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

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

 >db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)

刪除所有文件:

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

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


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

語法:

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

 >db.COLLECTION_NAME.find()

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

2.pretty() 方法

結果顯示在一個格式化的方式,可以使用 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.49028c.com",    "tags": ["mongodb", "database", "NoSQL"],    "likes": "100" } >
除了find() 方法外,還有一個 findOne() 法,返回一個文件。

RDBMS Where子句和MongoDB等同語句.

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

操作 語法 例子 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()

例子

下面給出的例子將顯示所有的教程,標題是“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.49028c.com",    "tags": ["mongodb", "database", "NoSQL"],    "likes": "100" } >
對于上面給出的例子相當于where子句 ' where by='yiibai' AND title='MongoDB Overview' , 可以通過任意數量的鍵值對在 find 子句。

4.MongoDB中OR

語法:

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

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

例子

下面給出的例子將顯示所有的教程,由'yiibai' 所寫或標題是“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.49028c.com",    "tags": ["mongodb", "database", "NoSQL"],    "likes": "100" } >
5.AND 和 OR 一起使用

例子

下面給出的例子將顯示有像的文件大于100,其標題是“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.49028c.com",    "tags": ["mongodb", "database", "NoSQL"],    "likes": "100" } >

 

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

1.MongoDB Update() 方法

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

語法:

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

 >db.COLLECTION_NAME.update(SELECTIOIN_CRITERIA, UPDATED_DATA)

例子

考慮以下數據mycol集合。

 { "_id" : ObjectId(5983548781331adf45ec5), "title":"MongoDB Overview"} { "_id" : ObjectId(5983548781331adf45ec6), "title":"NoSQL Overview"} { "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point Overview"}
下面的例子將設置新標題'MongoDB Overview'的文件,更新其標題是“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默認將只更新單一的文件,來更新多個你需要設置參數置'multi' 為true

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

 save() 方法替換現有的文檔和通過新的文檔 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"} >
  

 


 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日韩精品在线观看| 欧美专区在线播放| 91精品久久久久久久久久入口| 欧美中在线观看| 亚洲最大av在线| 亚洲第一区在线观看| 亚洲欧美激情视频| 色悠悠久久久久| 久久久综合免费视频| 国产欧美一区二区白浆黑人| 高清欧美一区二区三区| 精品综合久久久久久97| 日韩va亚洲va欧洲va国产| 久久天天躁狠狠躁夜夜av| 亚洲aⅴ男人的天堂在线观看| 一区二区三区美女xx视频| 欧美美女操人视频| 亚洲欧美日韩中文视频| 日韩视频一区在线| 精品高清一区二区三区| 高潮白浆女日韩av免费看| 亚洲91av视频| 欧美激情视频在线免费观看 欧美视频免费一| 国产日韩一区在线| 日本久久久久久久久| 伊人久久精品视频| 不卡av电影在线观看| 欧美激情性做爰免费视频| 青青a在线精品免费观看| 欧美激情亚洲一区| 97激碰免费视频| 精品国产鲁一鲁一区二区张丽| 亚洲男女自偷自拍图片另类| 91香蕉亚洲精品| 亚洲精品资源美女情侣酒店| 久久免费视频网| 欧美亚洲免费电影| 国产小视频国产精品| 亚洲 日韩 国产第一| 日韩大胆人体377p| 欧美亚洲成人精品| 国内精品久久久久久| 亚洲精品乱码久久久久久金桔影视| 97国产精品免费视频| 在线观看视频99| 播播国产欧美激情| 国产一区二区三区高清在线观看| 亚洲综合在线小说| 亚洲国产第一页| 夜夜嗨av色综合久久久综合网| 亚洲国产天堂网精品网站| 亚洲男人7777| 亚洲第一在线视频| 国产精品一区=区| 日韩av电影中文字幕| 久久久亚洲欧洲日产国码aⅴ| 久久影院模特热| 亚洲欧美综合图区| 中文字幕亚洲第一| 在线播放精品一区二区三区| 国产精品一区二区av影院萌芽| 国产美女直播视频一区| 黄色成人在线播放| 97精品视频在线播放| 国产日韩欧美视频| 色婷婷综合久久久久| 国产精品入口日韩视频大尺度| 青青久久av北条麻妃黑人| 欧美日韩国产中文精品字幕自在自线| 国产精品人成电影在线观看| 日本午夜精品理论片a级appf发布| 国产美女精品视频免费观看| 亚洲在线一区二区| 色狠狠久久aa北条麻妃| 亚洲国产美女精品久久久久∴| 亚洲字幕在线观看| 琪琪亚洲精品午夜在线| 中文字幕亚洲一区二区三区| 韩国三级日本三级少妇99| 久久国产精品亚洲| 91av福利视频| 亚洲欧美第一页| 亚洲伊人久久大香线蕉av| 欧美午夜性色大片在线观看| 亚洲国产成人精品久久久国产成人一区| 国模叶桐国产精品一区| 播播国产欧美激情| 国产精品久久久久999| 国产午夜精品一区二区三区| 91精品国产综合久久久久久久久| 久久久久久久久电影| 亚洲欧美日韩天堂| 一区二区三区高清国产| 亚洲a在线观看| 在线观看国产精品91| 欧美裸体视频网站| wwwwwwww亚洲| 日韩免费视频在线观看| 欧美中文字幕精品| 性金发美女69hd大尺寸| 成人午夜在线影院| 国产一区二区三区中文| 日韩在线免费视频| 91精品国产综合久久男男| 亚洲影院污污.| 国产精品第七十二页| 欧美成人中文字幕在线| 久久久久久久久网站| 欧美性xxxxxxxxx| 国产免费一区二区三区在线能观看| 亚洲成人av中文字幕| 最新的欧美黄色| 欧美中文字幕视频在线观看| 日韩免费看的电影电视剧大全| 欧美日韩激情视频8区| 欧美极品少妇xxxxⅹ喷水| 亚洲精品网站在线播放gif| 欧美性视频网站| 91精品国产777在线观看| 欧美久久精品一级黑人c片| 精品国产一区av| 欧美猛少妇色xxxxx| 91系列在线观看| 不卡伊人av在线播放| 国语对白做受69| 成人网在线免费观看| 久久精品国产一区二区三区| 国产精品综合网站| 欧美成人精品在线观看| 精品美女久久久久久免费| 在线观看91久久久久久| 久久精品国产亚洲7777| 国产精品视频一区二区高潮| 91av网站在线播放| 美女视频久久黄| 国产精品一区二区女厕厕| 亚洲国产日韩欧美在线99| 亚洲精品wwwww| 亚洲影视九九影院在线观看| 欧美自拍视频在线观看| 日韩精品在线观看网站| 96sao精品视频在线观看| 国产精品爱久久久久久久| 国产精品国产亚洲伊人久久| 国产精品福利在线观看网址| 成人精品视频久久久久| 色综合久综合久久综合久鬼88| 亚洲网址你懂得| 日韩精品免费在线播放| 国产精品爽黄69天堂a| 亚洲精品一区二区在线| 久久久久国产一区二区三区| 欧美一区二区.| 亚洲精品国产美女| 97视频在线观看视频免费视频| 亚洲变态欧美另类捆绑| 国产一区二区丝袜| 国产精品久久久久久av| 久久视频国产精品免费视频在线| 国产精品中文字幕在线| 欧美日韩国产麻豆| 国产美女直播视频一区| 少妇激情综合网| 国产成人高潮免费观看精品|