操作 | 語法 | 例子 | 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 |
語法:
在 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": "https://www.jb51.net", "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": "https://www.jb51.net", "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": "https://www.jb51.net", "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默認(rèn)將只更新單一的文件,來更新多個你需要設(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"} >
標(biāo)簽:昭通 邯鄲 景德鎮(zhèn) 本溪 吉安 大理 鶴崗 丹東
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MongoDB中對文檔的增刪查改基本操作方法總結(jié)》,本文關(guān)鍵詞 MongoDB,中,對,文檔,的,增刪,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。