2012-09-21 51 views
0

如何使用它們的objecID獲取單個數組元素文檔?例如,集合有一個數組,但數組擁有自己的objectid和其他屬性。MongoDB中的數組

Dc.Collection.FindOne(query);如果我傳遞了數組元素objectid,就不能獲取特定的數組文件。

回答

1

是否數組包含嵌入的文件,如

{ 
    ObjectId : // some ID, 
    ArrayField : [ 
     { 
      ObjectId: // id, 
      key: value 
     }, 
     { 
      ObjectId: // id, 
      key: value2 
     } 
    ] 
} 

?在這種情況下,你會想用點符號來查詢,例如:

findOne({"ArrayField.key" : value1 })

將這個文件相匹配。看看本頁上的第五個代碼示例:

http://www.mongodb.org/display/DOCS/Dot+Notation+(Reaching+into+Objects