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

MongoDB:同じドキュメントのデータを使用してドキュメントを更新する

    更新: 値を変更せずにドキュメントの構造を変更するだけの場合は、gipsetの回答を参照してください。

    [ドキュメントの更新]ページの(現在は利用できない)コメントによると、update()内から現在のドキュメントのプロパティを参照することはできません。 。

    すべてのドキュメントを繰り返し処理し、次のように更新する必要があります:

    db.events.find().snapshot().forEach(
      function (e) {
        // update document, using its own properties
        e.coords = { lat: e.lat, lon: e.lon };
    
        // remove old properties
        delete e.lat;
        delete e.lon;
    
        // save the updated document
        db.events.save(e);
      }
    )
    

    このような関数は、map-reduceジョブまたはサーバー側のdb.eval()でも使用できます。 仕事、あなたのニーズに応じて。



    1. MongoDBがコレクション名に複数形を追加するのを防ぐ方法はありますか?

    2. MongoDB SELECT COUNT GROUP BY

    3. Puppetを使用したMongoDBのデプロイとメンテナンスのガイド:パート2

    4. MongoDB $ log