【MongoDB学习笔记18】MongoDB的查询:find查询内嵌文档

查询内嵌文档和查询普通文档完全相同;

例如:

> db.post.find()   
{ "_id" : ObjectId("54ace1394ba07ed75df68f90"), "name" : { "firstname" : "joe", "lastname" : "schome" }, "age" : 28 }    
{ "_id" : ObjectId("54ace14a4ba07ed75df68f91"), "name" : { "firstname" : "snail", "lastname" : "yu" }, "age" : 29 }    
{ "_id" : ObjectId("54ace18d4ba07ed75df68f92"), "name" : { "firstname" : "sunny", "lastname" : "wu" }, "age" : 26 }
> db.post.find({"name":{"firstname":"joe","lastname":"schome"}})   
{ "_id" : ObjectId("54ace1394ba07ed75df68f90"), "name" : { "firstname" : "joe", "lastname" : "schome" }, "age" : 28 }    >

查询内嵌文档必须精确匹配,如果顺序错了也是查询不到的;

我们可以改成”.”的模式来查询内嵌的文档,这样无需精确匹配,也无关顺序;

例如:

> db.post.find({"name.firstname":"joe"})   
{ "_id" : ObjectId("54ace1394ba07ed75df68f90"), "name" : { "firstname" : "joe", "lastname" : "schome" }, "age" : 28 }    
>



本文出自 “缘随心愿” 博客,请务必保留此出处http://281816327.blog.51cto.com/907015/1600247

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。