众所周知,mongodb的文档是json类型,而json天生就是可以不断嵌套子集的存在.所以mongodb一些集合的文档存储就会有嵌套子文档的情况,但是有时候,我们需要对子文档来查询,那就需要创建索引,这个和一般的文档情况略有不同,下面来看看.

创建索引:

#插入嵌套子文档示例
> db.testid.insert({_id:{imsi:"4567890123",address:"测试数据"}})
#创建子文档条件一索引
> db.testid.createIndex({"_id.imsi":1})
#创建子文档条件二索引
> db.testid.createIndex({"_id.address":1})
#创建子文档联合索引
> db.testid.createIndex({"_id:imsi":1,"_id.address":1})

如图所示:

mongodb嵌套子文档的查询和在文档上面建立索引_嵌套


查询语句:

#全量查询
> db.testid.find().pretty()
{ "_id" : { "imsi" : "4567890123", "address" : "测试数据" } }
{ "_id" : { "imsi" : "4567890123", "address" : "测试数据", "id" : 123 } }
#单独条件查询
> db.testid.find({"_id.imsi":"4567890123"})
{ "_id" : { "imsi" : "4567890123", "address" : "测试数据" } }
{ "_id" : { "imsi" : "4567890123", "address" : "测试数据", "id" : 123 } }



转载自:​​http://t.zoukankan.com/xibuhaohao-p-12050949.html​