簡體   English   中英

如何從mongodb聚合獲取值

[英]How to get a value from mongodb aggregate

我試圖從mongodb聚合中獲取一個值,以通過totalAmount在ejs頁面中呈現,我得到的結果是[{“ totalAmount”:42}],在這種情況下,我只想獲取數字,42

我試圖用.replace刪除方括號,然后將.totalAmount附加到變量上,但是它不起作用。

app.get("/order", function(req, res) {

var amount;   

 var total = Order.aggregate([{
    $group: {
        _id: null,
        totalAmount: { $sum: '$total' }
    }
 }, {
    $project: {
        _id: 0
    } }]).exec(function (e,d) {
                  console.log(d)
                 amount = JSON.stringify(d)
            });

    Order.find({}, function(err, data) { 
       res.render("order", {ordenItem: data, totalAmount: amount});  
    });
});

聚合的結果是[{“ totalAmount”:42}],就像您看到的那樣,它是一個僅包含一個元素的數組,請閱讀下面的示例:

app.get("/order", function(req, res) {   

var total = Order.aggregate([{
   $group: {
      _id: null,
      totalAmount: { $sum: '$total' }
   }
  }, {
      $project: {
           _id: 0
     } }]).exec(function (e,doc) {
               console.log(doc);
               let amount = doc[0].totalAmount;
               console.log(doc[0].totalAmount);
               Order.find({}, function(err, data) { 
                  res.render("order", {ordenItem: data, totalAmount: amount});  
               });
       });
 });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM