當我嘗試使用find({query})查找數組中的特定對象時,我總是獲取數組中的所有元素。 活動數組存儲活動(這將是一個數千人的),你可以在下面的摘要中看到:Mongoose查找返回文檔而不是數組中的特定對象
這是我收集:
{
"_id" : ObjectId("58407140755324d04db2ce95"),
"owner" : 103429326776572,
"activities" : [
{
"name" : "test1",
"startTime" : ISODate("2016-08-11T17:41:54Z"),
"type" : "te1",
"lat" : 1,
"lon" : 1,
"creator" : 126212904493088,
"coverPhoto" : {
"name" : "test1",
"path" : "c:\\Users\\Francis\\Desktop\\dusk\\public\\coverPhotos\\SJ9tpP6Mx.jpg"
},
"identifier" : "H1g9F6vpGl",
"users" : [
1,
2,
3
],
"hashTags" : [
"some",
"hashtags"
]
},
{
"name" : "test2",
"startTime" : ISODate("2016-08-11T17:41:53Z"),
"type" : "te2",
"lat" : 1,
"lon" : 1,
"creator" : 103312904493090,
"coverPhoto" : {
"name" : "test2",
"path" : "c:\\Users\\Francis\\Desktop\\dusk\\public\\coverPhotos\\Hy8qpvafe.jpg"
},
"identifier" : "rJlU5TvpMx",
"users" : [
1,
2,
3
],
"hashTags" : [
"some",
"hashtags"
]
}
]
}
我需要得到例如具有特定標識符的活動。 我試圖使用像查詢:
1)db.myCollection.find({ 'activities.identifier': 「rJlU5TvpMx」})
2)db.myCollection.find({ '活動':{ $ elemMatch:{ 「標識」: 「rJlU5TvpMx」, 「創造者」:103312904493090}})
而與 '全部合併' 或 「」 標誌
我在上面查詢發現,在相同的文檔架構作爲MongoDB的文檔我的是。
你能告訴我我做錯了什麼嗎?
您收到的錯誤消息是什麼? – MonsterWimp757