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

Mongodbアグリゲーションパイプライングループプッシュを制限する方法

    左下の座標と右上の座標がそれぞれ[0, 0]であるとします。 および[100, 100] 。 MongoDB 3.2から、$sliceを使用できます 必要な配列のサブセットを返す演算子。

    db.collection.aggregate([
        { "$match": { 
            "loc": { 
                "$geoWithin":  { 
                    "$box": [ 
                        [0, 0], 
                        [100, 100]
                    ]
                }
            }}
        }},
        { "$group": { 
            "_id": "$name",
            "submitted": { "$max": "$submitted" }, 
            "preview": { "$first": "$preview" }
            "locs": { "$push": "$loc" }
        }}, 
        { "$project": { 
            "locs": { "$slice": [ "$locs", 5 ] },
            "preview": 1,
            "submitted": 1
        }},
        { "$limit": 10 }
    ])
    


    1. MongoDBアグリゲーションフレームワークの$groupは値の配列を返すことができますか?

    2. マングースは`$set`フィールドではなくドキュメントを上書きします

    3. 初心者向けのMongoDBチュートリアル(完全ガイド)–15分でMongoDBを学ぶ

    4. 本番環境で使用するためにMongoDBJavaドライバーMongoOptionsを構成するにはどうすればよいですか?