摘要:現(xiàn)在考慮這樣一跳中的數(shù)據(jù)在中增加一條記錄這個是最基本的數(shù)組操作將中為的一項的修改為這里用到了中一個神奇的站位操作符的作用是記錄了中匹配到的字段的所以,它一定是和中有的字段對應(yīng)使用而不必顯示的先查詢出相應(yīng)的在這個例子中,操作符匹配出了為的中相
現(xiàn)在考慮這樣一跳mongo中的數(shù)據(jù):
BSON>>>db.test.find({.....}); {_id:ObjectId(xxxxxxxx), fields:[{id:1, name:"name1", content:"xxx"}, {id:2, name:"name2", content:"yyy"}, {id:3, name:"name3", content:"zzz"}]}在fields中增加一條記錄:
這個是最基本的mongodb數(shù)組操作:
BSON>>>db.test.update({id:ObjectId(xxxxxxxx)}, {$push:{$fields:{id"4, name:"name4", "content":"aaaa"}}}); >>>db.test.find({id:ObjectId(xxxxxxxx)}) {_id:ObjectId(xxxxxxxx), fields:[{id:1, name:"name1", content:"xxx"}, {id:2, name:"name2", content:"yyy"}, {id:3, name:"name3", content:"zzz"},{id"4, name:"name4", "content":"aaaa"}]}將fields中id為2的一項的content修改為abc
這里用到了mongodb中一個神奇的站位操作符$,$的作用是記錄了where中匹配到的字段的offset(所以,它一定是和where中有的字段對應(yīng)使用)而不必顯示的先查詢出相應(yīng)的offset
BSON>>>db.test.update({id:ObjectId(xxxxxxxx), fields.id:2}, {$set:{fileds.$.set:{content:abc}}})
在這個例子中,$操作符匹配出了id為2的fields中相應(yīng)的項而不需要顯示的查詢出來,當(dāng)然,如果where中沒有fields.id:2, 就會報錯
刪除fields中id為2的一項為什么不先講query?看看怎么刪除的就懂了:
BSONdb.test.update({id:ObjectId(xxxxxxxx)}, {$pull:{$id: 2}})
我一直和別人說,mongo中的冒號絕對不是簡單的等于
mongo中神奇的“:”這是一個常見的mongo中存子引用的建立關(guān)聯(lián)的例子:假設(shè)一個team的ducument,存儲了member的id的list
BSON>>>db.team.find() {id:ObjectId(xxx), member_list:[ObjectId(11111), ObjectId(22222), ObjectId(333333)]};
現(xiàn)在知道一個member的id為ObjectId(22222),查詢相應(yīng)的team信息是根本不需要什么$in之類的操作符的:
BSON>>>db.team.find({member_list:ObjectId(22222)})新年快樂!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/18719.html
摘要:如將構(gòu)造函數(shù)作為函數(shù)進(jìn)行調(diào)用即不包括的方式,返回的是日期的字符串表示,而非日期對象。如果不注意這一點,沒有始終使用日期構(gòu)造函數(shù),將得到一堆混亂的日期對象和日期的字符串。關(guān)于日期類的完整解釋,以及構(gòu)造函數(shù)的參數(shù)格式,參見規(guī)范節(jié)。 上一篇文章:MongoDB指南---2、MongoDB基礎(chǔ)知識-文檔、集合、數(shù)據(jù)庫、客戶端下一篇文章:MongoDB指南---4、MongoDB基礎(chǔ)知識-使用M...
摘要:如將構(gòu)造函數(shù)作為函數(shù)進(jìn)行調(diào)用即不包括的方式,返回的是日期的字符串表示,而非日期對象。如果不注意這一點,沒有始終使用日期構(gòu)造函數(shù),將得到一堆混亂的日期對象和日期的字符串。關(guān)于日期類的完整解釋,以及構(gòu)造函數(shù)的參數(shù)格式,參見規(guī)范節(jié)。 上一篇文章:MongoDB指南---2、MongoDB基礎(chǔ)知識-文檔、集合、數(shù)據(jù)庫、客戶端下一篇文章:MongoDB指南---4、MongoDB基礎(chǔ)知識-使用M...
摘要:踩到許多坑,記錄下一些基于的東西吧首先。王大錘那么查詢的時候,如果要根據(jù)查詢班級怎么辦,的查詢也非常簡單。詳情可以查看官方文檔用法 剛接觸mongodb不久。踩到許多坑,記錄下一些基于spring-data-mongodb的東西吧 首先。應(yīng)該了解下什么情況下使用mongodb,什么情況下用mysql: 業(yè)務(wù)需要事物,使用mysql,因為mongodb不支持事物 數(shù)據(jù)量大,但是數(shù)據(jù)本身...
摘要:踩到許多坑,記錄下一些基于的東西吧首先。王大錘那么查詢的時候,如果要根據(jù)查詢班級怎么辦,的查詢也非常簡單。詳情可以查看官方文檔用法 剛接觸mongodb不久。踩到許多坑,記錄下一些基于spring-data-mongodb的東西吧 首先。應(yīng)該了解下什么情況下使用mongodb,什么情況下用mysql: 業(yè)務(wù)需要事物,使用mysql,因為mongodb不支持事物 數(shù)據(jù)量大,但是數(shù)據(jù)本身...
摘要:操作符如何使用索引有一些查詢完全無法使用索引,也有一些查詢能夠比其他查詢更高效地使用索引。有時能夠使用索引,但是通常它并不知道要如何使用索引。索引對象和數(shù)組允許深入文檔內(nèi)部,對嵌套字段和數(shù)組建立索引。 上一篇文章:MongoDB指南---10、索引、復(fù)合索引 簡介下一篇文章:MongoDB指南---12、使用explain()和hint()、何時不應(yīng)該使用索引 1、使用復(fù)合索引 在多...
摘要:操作符如何使用索引有一些查詢完全無法使用索引,也有一些查詢能夠比其他查詢更高效地使用索引。有時能夠使用索引,但是通常它并不知道要如何使用索引。索引對象和數(shù)組允許深入文檔內(nèi)部,對嵌套字段和數(shù)組建立索引。 上一篇文章:MongoDB指南---10、索引、復(fù)合索引 簡介下一篇文章:MongoDB指南---12、使用explain()和hint()、何時不應(yīng)該使用索引 1、使用復(fù)合索引 在多...
閱讀 3573·2021-10-11 10:59
閱讀 1591·2021-09-29 09:35
閱讀 2259·2021-09-26 09:46
閱讀 3771·2021-09-10 10:50
閱讀 953·2019-08-29 12:17
閱讀 821·2019-08-26 13:40
閱讀 2433·2019-08-26 11:44
閱讀 2103·2019-08-26 11:22