我正在为我的应用程序使用mongoDB和nodejs。我在db中有文档
{
"_id" : ObjectId("5a868d785e5436aeed0502c0"),
"symbol" : "ABC",
"values" : [
{
"High" : 53.0,
"Close" : 51.85,
"Open" : 50.8
},
{
"High" : 51.35,
"Close" : 50.25,
"Open" : 50.35
}
]
}
计算值[0]之间的百分比变化。关闭和值[1]。关闭,我使用下面的代码。如果拍摄> = 5返回 true 其他 false
var History = require('../DBmodel/sHistory');
History.aggregate([{
"$addFields": {
"shootup": {
"$gte": [{
"$multiply": [{
"$cond": [{
"$eq": [{
"$arrayElemAt": ["$values.Close", 1]
}, 0]
},
1, {
"$divide": [{
"$subtract": [{
"$arrayElemAt": ["$values.Close", 0]
}, {
"$arrayElemAt": ["$values.Close", 1]
}]
}, {
"$arrayElemAt": ["$values.Close", 1]
}]
}
]
},
100
]
}, 5]
}
}
}], function(err, themeList) {
if (err) {
return next(err);
}
res.json(themeList);
});
执行时我收到错误 - 聚合结果超出最大文档大小(16MB)
所以我用$ out来创建另一个集合。但我不知道如何在nodejs中查询新集合,因为我们还没有为新集合模型声明变量。
谢谢, J