Javascript 如何从mongodb聚合中获取值
我试图通过totalAmount从mongodb aggregate中获取一个值,以在ejs页面中呈现,得到的结果是[{“totalAmount”:42}],在本例中,我只想获取数字42 我尝试的是用.replace移除方括号,然后将.totalAmount附加到变量amount,但它不起作用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: {
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]在数组中查找第一个也是唯一的元素对吗?