0

如何使用其 objecID 获取单个数组元素文档?例如,集合有一个数组,但该数组有自己的 objectid 和其他属性。

Dc.Collection.FindOne(query);如果我传递了数组元素 objectid,则无法获取特定的数组文档。

4

1 回答 1

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 )

于 2012-09-21T14:18:32.573 回答