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

ソートされた配列をMongoDBに保存する方法は?

    MongoDBの2.4リリースでは、ここで別のオプションが提供されます。これは、 $sort 修飾子。

    db.collection.update({_id: document_id}, {
        $push: {
            myarray: {
                $each: [{timestamp: 456, x: 1}, {timestamp: 123, x: 2}, ...],
                $sort: {timestamp: 1}
            }
        }
    });
    

    これにより、myarrayの要素が作成されます 昇順のtimestampでソートされて保存される更新されたドキュメントのフィールド 。

    新しい要素を追加せずに既存の要素を並べ替えるだけの場合は、$each: []を使用します。 :

    db.collection.update({_id: document_id}, {
        $push: {
            myarray: {
                $each: [],
                $sort: {timestamp: 1}
            }
        }
    });
    


    1. MongoDbアグリゲーション

    2. Node.js-Mongoose-ネストされた配列をreq.bodyのすべての値で更新します

    3. redis-trib.rbを使用してクラスターを作成するときに接続エラーが発生しますか?

    4. NodeJS-外部Redisサーバーに安全に接続します