如何使用猫鼬吸气剂

时间:2019-04-24 13:11:20

标签: mongoose

我的猫鼬模式中有三个字段,我只想检索一个字段,该字段将是其他两个字段的平均值。

我尝试使用猫鼬 get ,但我不知道我是否使用正确。

这是我的模式

const schema = new Schema({
    totalCarrots: {type: Number},
    numberOfRabbits: {type: Number},
    average: {
        type: Number,
        get: function () {
            const average = this.totalCarrots / this.numberOfRabbits;
            if (average) return Math.ceil(average);
            return null;
        }
    }
});

我希望平均值返回计算值。我该如何存档?

1 个答案:

答案 0 :(得分:1)

看起来您实际上根本不需要map。由于您只是想生成动态值,因此可以在模式的return res.status(401).json({ message: 'Auth failed', }); 上创建自己的方法,如下所示:

res.status(401).json({
  message: 'Auth failed',
});

现在,您可以在架构实例上调用此方法:

get

methods旨在用于实际存储数据的字段,并且在您访问该字段时可以修改该字段。例如,假设我们有一个带有schema.methods.average = function(){ const average = this.totalCarrots / this.numberOfRabbits; return average ? Math.ceil(average) : null; } 字段的Product模型。我们的价格以浮动价格存储,出于任何原因,我们希望每次阅读时都舍入该值。这将是const doc = new schema({ totalCarrots: 4, numberOfRabbits: 2 }) doc.average() // should return 2 方法的好地方:

get