collection.find({ "data.username": "someusername" }}})
作品,取1個匹配的文檔,這
collection.find({ data: { $elemMatch: { username: "someusername" }}})
不取任何東西。不應該嗎? (我會使用虛線但想要擴展查詢。)
這是與Meteor集合中的mongo控制檯。在Robomongo和流星控制檯也嘗試過,結果也一樣。
修訂:這裏有一個文件(修剪)
{
"_id" : "fDyZsiuqQgkRmPno5",
"type" : "user",
"data" : {
"id" : 1234,
"username" : "someusername",
"website" : "http://www.somewhere.com",
"email" : null,
"payments" : [
{
"payment" : {
"id" : "zFyZsiGgQskRmPn43"
}
}
]
},
"createdAt" : ISODate("2015-08-28T12:16:46.918+02:00")
}
正如我在我的回答(甚至在你的「編輯」之前)所說的,你不能在這裏使用'$ elemMatch',因爲'data'不是數組字段 – styvane
我知道。標記爲正確。我只是在寫信給你。 :) – jiku