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

Mongoコレクションをループして、すべてのドキュメントのフィールドを更新します

    これを行う最良の方法は、"Bulk" を使用することです。 操作

    var collection = db.getCollection('schedules');
    var bulkOp = collection.initializeOrderedBulkOp();
    var count = 0;
    collection.find().forEach(function(doc) {
        bulkOp.find({ '_id': doc._id }).updateOne({
            '$set': { 'time': new Date(doc.time) }
        });
        count++;
        if(count % 100 === 0) {
            // Execute per 100 operations and re-init
            bulkOp.execute();
            bulkOp = collection.initializeOrderedBulkOp();
        }
    });
    
    // Clean up queues
    if(count > 0) {
        bulkOp.execute();
    }
    


    1. Errr'mongo.js:L112エラー:src / mongo / shell / mongo.js:L112のサーバー127.0.0.1:27017に接続できませんでした'

    2. Meteorコレクションにmomentjsオブジェクトを挿入する

    3. MongoDBがインデックス交差を使用しないのはなぜですか?

    4. MongoDB2.6レプリカセットでHTTPコンソールを有効にする方法