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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章