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

MongoDBのコレクションレコード内の配列を並べ替える方法は?

    アプリケーションコードに埋め込まれた配列を操作するか、MongoDB2.2の新しいAggregationFrameworkを使用する必要があります。

    mongoでの集計例 シェル:

    db.students.aggregate(
        // Initial document match (uses index, if a suitable one is available)
        { $match: {
            _id : 1
        }},
    
        // Expand the scores array into a stream of documents
        { $unwind: '$scores' },
    
        // Filter to 'homework' scores 
        { $match: {
            'scores.type': 'homework'
        }},
    
        // Sort in descending order
        { $sort: {
            'scores.score': -1
        }}
    )
    

    サンプル出力:

    {
        "result" : [
            {
                "_id" : 1,
                "name" : "Aurelia Menendez",
                "scores" : {
                    "type" : "homework",
                    "score" : 71.76133439165544
                }
            },
            {
                "_id" : 1,
                "name" : "Aurelia Menendez",
                "scores" : {
                    "type" : "homework",
                    "score" : 34.85718117893772
                }
            }
        ],
        "ok" : 1
    }
    


    1. node.js&express-アプリケーション構造のグローバルモジュールとベストプラクティス

    2. cronジョブを介してredisにデータを保存する

    3. redis.confのtcp-backlogとは

    4. Redisは、msetを使用して複数のhsetキー(フィールドではない)を更新することが可能です