mongodb 如何将mongoose模型中的一个字段值设置为两个字段的相加?

b4wnujal  于 2022-12-12  发布在  Go
关注(0)|答案(1)|浏览(223)

我有两个字段wallet和bank都存储一个整数。我想确保另一个名为total的字段应该有wallet和bank的计算值。

const mongoose = require('mongoose');
const User = new mongoose.Schema({
    id: { type: String, unique: true, required: true },
    wallet: { type: Number, default: 500 },
    bank: { type: Number, default: 0 },
    total: { type: Number},
})

module.exports = { User: mongoose.model("User", User) }
hkmswyz6

hkmswyz61#

看看 Mongoose 的虚拟世界。
在您的情况下,它看起来像这样:

const mongoose = require('mongoose');
const User = new mongoose.Schema({
    id: { type: String, unique: true, required: true },
    wallet: { type: Number, default: 500 },
    bank: { type: Number, default: 0 },
    total: { type: Number},
}, {
  virtuals: {
    total: {
      get() {
        return this.wallet + this.bank;
      }
    }
  }
})

module.exports = { User: mongoose.model("User", User) }

mongoose将在每次访问total属性时调用getter函数

相关问题