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

マングースはすべてのドキュメントの値を合計します

    集約フレームワーク で試してみてください $match を使用する および $ group 演算子、つまりこのようなもの

    db.tickets.aggregate([
        { $match: { time: {$gte: a, $lte: tomorrow} } },
        { $group: { _id: null, amount: { $sum: "$amount" } } }
    ])
    

    たとえば、このようなテストデータを使用する

    /* 1 */
    {
        "_id" : ObjectId("57e0ed40828913a99c2ceb46"),
        "time" : 20,
        "amount" : 40
    }
    
    /* 2 */
    {
        "_id" : ObjectId("57e0ed40828913a99c2ceb47"),
        "time" : 40,
        "amount" : 20
    }
    
    /* 3 */
    {
        "_id" : ObjectId("57e0ed40828913a99c2ceb48"),
        "time" : 50,
        "amount" : 10
    }
    
    /* 4 */
    {
        "_id" : ObjectId("57e0ed40828913a99c2ceb49"),
        "time" : 10,
        "amount" : 5
    }
    

    次のようなパイプライン(ダミーの時間範囲)

    db.tickets.aggregate([
        { $match: { time: {$gte: 20, $lte: 40} } },
        { $group: { _id: null, amount: { $sum: "$amount" } } }
    ])
    

    このような結果が得られます

    /* 1 */
    {
        "_id" : null,
        "amount" : 60
    }
    




    1. MongoDBの非対称的なデータの戻り、配列の最初の項目が完全に返され、残りは特定のプロパティが省略されていますか?

    2. C#MongoDB個別クエリ構文

    3. 注文の最上位または最初のレコードのSpringjavaMongoDB@Queryアノテーション

    4. 少なくとも1つの関連オブジェクトを含むレコードを取得する