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

Node.js + Mongoose.js注文の合計を取得する方法は、1か月または1週間で行われますか?

    一定期間内の注文総数が必要な場合は、 $ gte および $ lt スタイル演算子:

    var query = Model.find({ 
        "createdDate": { 
            "$gte": new Date("2014-05-21"), "$lte": new Date("2014-05-29")
        }
    }).count()
    
    query.exec(function(err, count) {
    

    そして、その範囲内でドキュメントが見つかった場合は、カウントが返されます。

    ドキュメント内から値を合計したい場合、または実際にその日付範囲内から「日次合計」のようなものを取得したい場合は、集計フレームワークを使用してこれを行うことができます。

    Model.aggregate([
        { "$match": {
            "$gte": new Date("2014-05-21"), "$lte": new Date("2014-05-29")
        }},
        { "$group": {
            "_id": { "$dayOfYear": "$createdDate" }
            "totalValue": { "$sum": "$orderTotal" }
        }}
    ],
    function(err, result) {
    

    これは、 $sum<を利用するだけではありません。 / code> 演算子を使用して「orderTotal」フィールドの値を合計しますが、日付の集計 演算子を使用して、指定された範囲内の1日ごとにすべての値をグループ化します。

    最後のケースが必要な場合は、そこでさまざまな演算子を使用して、結果に含めるさまざまな期間を分割できます。




    1. MongoError:最初の接続時にサーバー[localhost:27017]に接続できませんでした

    2. PostgresとHasuraでのCouchDBスタイルの同期と競合解決

    3. MongoDbの名前空間内のすべてのクラスのClassMapを登録するにはどうすればよいですか?

    4. 集約MongoDBを使用してデータMongoデータを取得する方法