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 })

このドキュメントと一致します。このページの5番目のコード例を見てください。

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

于 2012-09-21T14:18:32.573 に答える