2016-04-30 10 views
4

これは価格キーを持つ私のカートコレクションです。私のnode.jsコードでは、両方のドキュメントの価格の合計を表示したいと思います。私は集計が、didntの仕事を使用してみましたMongodb node.jsコレクション内のすべての文書のキー値の合計

カートのコレクション

[ 
    { 
    "_id": "57244d0a05dcf1d7151ede7f", 
    "art_id": "57244c9505dcf1d7151ede7c", 
    "artist_id": "5721a528c9d28cd51f014038", 
    "user_id": "5721a528c9d28cd51f014038", 
    "price": "90" 
    }, 
    { 
    "_id": "57244d1f05dcf1d7151ede80", 
    "art_id": "57244c6105dcf1d7151ede7b", 
    "artist_id": "5721a528c9d28cd51f014038", 
    "user_id": "5721a528c9d28cd51f014038", 
    "price": "150" 
    } 
] 

Node.jsのコードのように集計を使用することができ、すべての価格を追加する

function test(req, res, next) { 
    db.users.findOne({ 
     _id: mongoskin.helper.toObjectID(req.session.user._id) 
    }, function(err, user) { 
     if (!user) { 
      return res.status(400).send({ 
       status: '404 user not found' 
      }); 
     } 
     db.cart.find({ 
      user_id: req.session.user._id 
     }).toArray(function(err, result) { 
      if (err) return next(err); 
      res.send(result) 
     }); 
    }); 
} 

答えて

2

db.cart.aggregate(
     [ 
      { 
       $group : { 
        _id : null, 
        totalPrice: { $sum: price } 
       } 
      } 
     ] 
    ).exec(function(error, result) { 
     if (err) return next(err); 
     res.send(result) 
    }); 
関連する問題