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

Mongodb:配列オブジェクトでドキュメントを並べ替える

    モンゴはできるようです これを行います。

    たとえば、次のドキュメントがある場合:

    { a:{ b:[ {c:1}, {c:5 } ] } }
    { a:{ b:[ {c:0}, {c:12} ] } }
    { a:{ b:[ {c:4}, {c:3 } ] } }
    { a:{ b:[ {c:1}, {c:9 } ] } }
    

    そして、以下を実行します:

    db.collection.find({}).sort({ "a.b.c":1 });
    // produces:
    { a:{ b:[ {c:0}, {c:12} ] } }
    { a:{ b:[ {c:1}, {c:5 } ] } }
    { a:{ b:[ {c:1}, {c:9 } ] } }
    { a:{ b:[ {c:4}, {c:3 } ] } }
    
    db.collection.find({}).sort({ "a.b.c":-1 });
    // produces:
    { a:{ b:[ {c:0}, {c:12} ] } }
    { a:{ b:[ {c:1}, {c:9 } ] } }
    { a:{ b:[ {c:1}, {c:5 } ] } }
    { a:{ b:[ {c:4}, {c:3 } ] } }
    

    ご覧のとおり、{"a.b.c":1}で並べ替えます かかります {"a.b.c":-1}で並べ替えるのに対し、配列内のすべての値の 最大を取ります すべての値の。



    1. 作成したドキュメントのみを管理できるMongoDBユーザーを作成します

    2. ConfigurationError:127.0.0.1:27017のサーバーはワイヤーバージョン0を報告しますが、このバージョンのPyMongoには少なくとも2つ必要です(MongoDB 2.6)

    3. Logstashとelasticsearchの間のデータブローカー/メッセージングシステムとしてのRedisとRabbitMQ

    4. NodeJSのMongoDBネイティブドライバーを介してdb.copyDatabaseを実行するにはどうすればよいですか?