我的MongoDB的集合是这样的:MongoDB的查询只在内部文件
{
"_id" : ObjectId("5333bf6b2988dc2230c9c924"),
"name" : "Mongo2",
"notes" : [
{
"title" : "mongodb1",
"content" : "mongo content1"
},
{
"title" : "replicaset1",
"content" : "replca content1"
}
]
}
{
"_id" : ObjectId("5333fd402988dc2230c9c925"),
"name" : "Mongo2",
"notes" : [
{
"title" : "mongodb2",
"content" : "mongo content2"
},
{
"title" : "replicaset1",
"content" : "replca content1"
},
{
"title" : "mongodb2",
"content" : "mongo content3"
}
]
}
我想查询只显示有标题为“mongodb2”,但不希望完整的文档说明。 我使用下面的查询:
> db.test.find({ 'notes.title': 'mongodb2' }, {'notes.$': 1}).pretty()
{
"_id" : ObjectId("5333fd402988dc2230c9c925"),
"notes" : [
{
"title" : "mongodb2",
"content" : "mongo bakwas2"
}
]
}
我期待它返回都指出,有标题为“mongodb2”。 当我们查询文档中的文档时,mongo是否只返回第一个文档?
可能重复的[MongoDB只提取数组中的选定项](http://stackoverflow.com/questions/3985214/mongodb-extract-only-the-selected-item-in-array) – WiredPrairie
此问题已被已经在StackOverflow上多次询问和回答。看看上面的链接和这个:例如http://stackoverflow.com/questions/5562485/get-particular-element-from-mongodb-array。 – WiredPrairie
我觉得难以遵循这些问题,因为它们来自聚合框架不存在的时间。对这些问题之一的接受答案甚至是使用map/reduce,这几乎肯定不是OP所要的,因为M/R不适合临时查询。 – mnemosyn