-1

私はこのようなドキュメントを持っています:

myDoc : {
    _id : a101
    name : John,
    batch : [{
        _id : batch101,
        value : physics
    },{
        _id : batch102,
        value : chemistry
    },{
        _id : batch103,
        value : maths
    }]
}

「value」を「computers」に更新したいのですが、batch._idは「batch101」または「batch102」(batch103ではありません)のいずれかです。

助けてください!前もって感謝します。

-マニッシュ:)

4

1 に答える 1

0

元の質問に対するコメントで述べたように、ここでの最善の解決策は、クライアント側でドキュメントを操作することです。これをいくつかのステップに分解します。

1) ドキュメントのクエリ。あなたはノードで作業していると述べたので、これは JSON で表されます。この変数を x としましょう

2) ドキュメントを調べて、更新する要素を見つけます。これは次のようになります。

for(i = 0; i < x.batch.length; i++) {  
    if(x.batch[i]._id == 'batch101') {  
        //do something
    }
}

(このコードは明らかに完全ではありませんが、必要なもののアイデアを提供します)

3) 次に、この変更されたドキュメントを使用して、mongoDB の古いドキュメントを更新します。

このプロセスにより、バッチ リスト内の特定の要素を更新するという目標を達成できるはずです。

于 2013-02-08T17:14:07.413 に答える