1
我正在使用MongoDB外殼版本:2.4.8,並只想知道爲什麼嵌套數組搜索不能正常工作。
假設我們有2點文檔集合,(一)用戶:
{
"_id" : ObjectId("u1"),
"username" : "user1",
"org_ids" : [
ObjectId("o1"),
ObjectId("o2")
]
}
{
"_id" : ObjectId("u2"),
"username" : "user2",
"org_ids" : [
ObjectId("o1")
]
}
和(b)組織:
{
"_id" : ObjectId("o1"),
"name" : "Org 1"
}
{
"_id" : "ObjectId("o2"),
"name" : "Org 2"
}
收藏已經爲
Users._id, Users.org_id, Organisations._id
我會定義索引喜歡查找特定用戶所屬的所有組織。
我已經試過這樣:
> myUser = db.Users.find({ _id: ObjectId("u1") })
> db.Organisations.find({ _id : { $in : [myUser.org_ids] }})
但它產生什麼結果。我也試過這樣:
> myUser = db.Users.find({ _id: ObjectId("u1") })
> db.Organisations.find({ _id : { $in : myUser.org_ids }})
但它輸出的錯誤:
error: { "$err" : "invalid query", "code" : 12580 }
(這基本上說,你需要在一個數組傳遞$)......但是這就是我想我是原來呢?百思不得其解。
任何想法我做錯了什麼?
謝謝,完全按照它在罐子上說的那樣工作;-) – mercyweeps
@mercyweeps不客氣! :-)很高興幫助你! –