Mongodb嵌套查詢及修改

Mongodb各文檔中對嵌套查詢的介紹不知道藏在哪個地方,反正我是沒找到,一個偶然的機會發現網上的一個帖子,終於知道了嵌套查詢的用法。於是乎我們應用中的一個問題也隨之被解決了。不說廢話了,現在說下嵌套查詢的使用。

假設mongodb中存在某個collections,其數據如下:

> db.xx.find()
{ "_id" : 1, "name" : { "first" : 2, "last" : 3 } }
{ "_id" : 3, "name" : { "1" : 1, "2" : 2, "3" : 3 } }
{ "_id" : 2, "name" : { "1" : 1, "2" : 2 } }

現在我們要查詢_id=1的記錄中name的first字段的值,執行如下:

> db.xx.find({"_id":1},{"name.first":1,"_id":0})
{ "name" : { "first" : 2 } }

OK,通過以上示例我們知道嵌套查詢的關鍵就在於“name.first”。對嵌套屬性的修改其實也類似,例如我們要將查詢到這條記錄中name.first的值+2,那麼:

> db.xx.update({"_id":1},{$inc:{"name.first":2}})
> db.xx.find({"_id":1},{"name.first":1,"_id":0})
{ "name" : { "first" : 4 } }

ok,值已經改變。

發佈了37 篇原創文章 · 獲贊 1 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章