Javascript 如何从mongodb聚合中获取值

Javascript 如何从mongodb聚合中获取值,javascript,node.js,mongodb,ejs,Javascript,Node.js,Mongodb,Ejs,我试图通过totalAmount从mongodb aggregate中获取一个值,以在ejs页面中呈现,得到的结果是[{“totalAmount”:42}],在本例中,我只想获取数字42 我尝试的是用.replace移除方括号,然后将.totalAmount附加到变量amount,但它不起作用 app.get("/order", function(req, res) { var amount; var total = Order.aggregate([{ $group: {

我试图通过totalAmount从mongodb aggregate中获取一个值,以在ejs页面中呈现,得到的结果是[{“totalAmount”:42}],在本例中,我只想获取数字42

我尝试的是用.replace移除方括号,然后将.totalAmount附加到变量amount,但它不起作用

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});  
               });
       });
 });

聚合的结果是[{“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});  
               });
       });
 });

Thank's@Nemer我应用了它,它工作了,所以doc[0]在数组中查找第一个也是唯一的元素对吗?Thank's@Nemer我应用了它,它工作了,所以doc[0]在数组中查找第一个也是唯一的元素对吗?