sql >> データベース >  >> NoSQL >> MongoDB

正確なサブドキュメントレベルの条件なしで複数のサブドキュメントを更新する

    この問題ごとに、New operator to update all matching items in an array 、現在、mongodbでそれを行う操作はありません。とても悲しい気持ちです。この問題は6年間続きます。

    以下のように、mongoシェルで1つの回避策がある可能性があります。

    > db.comments
        .find({})
        .forEach(function(doc) { 
                            doc.comments.map(function(c) {
                                    if (c.active == 1) {
                                        c.status = 0;
                                     }
                            }); 
                            db.comments.update(
                                          {_id: doc._id}, 
                                          {$set: {comments: doc.comments}});
         });
    



    1. SQL COUNTGROUPBYに相当するMongoDB

    2. Ruby Mongoドライバー:日付間隔を探す方法は?

    3. ネストされたドキュメントのマッピング/縮小と並べ替え

    4. MongoDBでは、インデックスが3つのフィールドにある場合、2つのフィールドでクエリを実行するときにそのインデックスを使用できますか? (3番目のフィールドのワイルドカード)