gpt4 book ai didi

mongodb - Mongoose 临时计算字段

转载 作者:可可西里 更新时间:2023-11-01 09:12:29 24 4
gpt4 key购买 nike

对于一个基本示例,我有一个架构:

var testSchema = new Schema({
op1 : Number,
op2 : Number
});

然后我想要一个“总计”字段,它不存储在数据库中,而是在检索后自动计算,并且可能可以用于 Mongoose 的 query.sort。

total = op1 + op2

然后使用 myTestModel.find({}).sort(total).execFind(...);

这可能吗?

最佳答案

MongoDB 不允许您使用普通查询来计算字段,但是,您可以使用聚合框架来执行此操作。你会这样做:

myTestModel.aggregate(
{ $match: {} }, // your find query
{ $project: {
op1: 1, // original fields
op2: 1,
total: { $add: ['$op1', '$op2' ] } // calculated field
} },
{ $sort: { total: 1 } },

// And then the normal Mongoose stuff:
function (err, res) {
}
);

另请参阅:http://mongoosejs.com/docs/api.html#model_Model.aggregate

关于mongodb - Mongoose 临时计算字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17848811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com