Mongodb 我们可以查询值中的键吗
在我的文档中,如果键的值本身是json(具有键值)。 如何在值内搜索文档的键 例如:Mongodb 我们可以查询值中的键吗,mongodb,Mongodb,在我的文档中,如果键的值本身是json(具有键值)。 如何在值内搜索文档的键 例如: { "_id": { "$oid" : "51711cd87023380037000001" }, "dayData": "{ "daysdata":{"date":"02-12- 2013","week_day":"","month":"","date_day":"","year":"2013"}}" } 如果我有多个这样的文档,并且我希望得到日期为“02-12-2013”的文
{ "_id": { "$oid" : "51711cd87023380037000001" },
"dayData": "{ "daysdata":{"date":"02-12- 2013","week_day":"","month":"","date_day":"","year":"2013"}}"
}
如果我有多个这样的文档,并且我希望得到日期为“02-12-2013”的文档。我的返回值应该是使用mongodb java驱动程序的key daydata的值您可以使用点表示法,因此在您的情况下:
db.collection.ensureIndex({'dayData.daysdata.date': 1});
然后
db.collection.find({'dayData.daysdata.date': 02-12-2013});
例如:
> db.test.insert({x: {x: {x: 1}}})
> db.test.insert({x: {x: {x: 2}}})
> db.test.insert({x: {x: {x: 3}}})
>
> db.test.ensureIndex({'x.x.x': 1})
>
> db.test.find({'x.x.x': 2}, {_id: false})
{"x" : { "x" : { "x" : 2} } }
>
使用索引的证明:
> db.test.find({'x.x.x': 2}, {_id: false}).explain()
{
"cursor" : "BtreeCursor x.x.x_1",
"n" : 1,
"nscannedObjects" : 1,
"nscanned" : 1,
....
}
>
可能重复的