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

MongoDBクエリから計算フィールドを返すことは可能ですか?

    新しい Aggregation Framework MongoDB 2.2では、 $project を介して計算フィールドを追加できます。 オペレーター。これは任意とはまったく同じではありません サポートされている演算子 を使用する必要があるため関数 、しかしそれはかなりの柔軟性を提供します。

    _idをインクリメントする例を次に示します。 s新しいmyNum フィールド:

    MongoDB shell version: 2.2.0-rc0
    
    > db.test.insert({_id:123});
    
    > db.test.insert({_id:456});
    
    > db.test.aggregate(
      { $project : {
          _id : 1,
         'myNum': { $add: [ "$_id", 1]}
      }}
    )
    {
        "result" : [
            {
                "_id" : 123,
                "myNum" : 124
            },
            {
                "_id" : 456,
                "myNum" : 457
            }
        ],
        "ok" : 1
    }
    



    1. 文字列をMongoDBのサブ文字列または文字の配列に分割します

    2. 最後のstream.on('data')イベントで非同期関数のコールバックを待ちます

    3. MongoDBの再帰ドキュメントの構造とクエリ構文?

    4. Mongodb(v2.4.0)$match集計が日付範囲で機能しない