[英]How to return a string value instead of Json from a mongodb aggregate function
[英]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.