我的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