【发布时间】:2016-04-04 06:16:59
【问题描述】:
我正在尝试在所有包含数字数组总和的文档中添加一个新字段。
这是 Schema(为简洁起见,删除了不相关的字段):
var PollSchema = new Schema(
{
votes: [Number]
}
);
我建立模型:
PollModel = mongoose.model('Poll', PollSchema);
我使用聚合来创建一个包含投票数组总和的新字段。
PollModel.aggregate([
{
$project: {
totalVotes: { $sum: "$votes"}
}
}
]);
当我启动我的服务器时,我没有收到任何错误;但是,totalVotes 字段尚未创建。我使用this 文档来帮助我。它同样使用$sum 运算符,我完全按照文档说明的方式进行操作,但没有结果。
【问题讨论】:
-
@Vishnu 我已经定义了架构?
-
无法获取模型中未定义的字段。这就是问题所在。
-
@Vishnu 聚合框架的结果不受模型模式的限制,可以是任何东西。所以这不是问题,而是你不能在
$project内应用$sum,也不能直接在数组上应用。
标签: javascript node.js mongodb mongodb-query aggregation-framework