Node.js 如何拯救猫鼬病毒

Node.js 如何拯救猫鼬病毒,node.js,express,mongoose,Node.js,Express,Mongoose,有人能举例说明如何保存mongoose virtuals以供db使用吗 已在模型中具有此功能: const userSchema = new Schema({ googleId: String, name: String, email: String, password: String, credits: {type: Number, default: 0}, }); userSchema.virtual('advertisements', {

有人能举例说明如何保存mongoose virtuals以供db使用吗

已在模型中具有此功能:

const userSchema = new Schema({
    googleId: String,
    name: String,
    email: String,
    password: String,
    credits: {type: Number, default: 0},
});

userSchema.virtual('advertisements', {
    ref: 'advertisements',
    localField: '_id',
    foreignField: '_id',
    justOne: false,
    options: { sort: { name: -1 }, limit: 5 }
  });

mongoose.model('users', userSchema);
在文档中,有关于数据填充和存储的信息,但如何看起来像是正确的保存

它必须是
user.advisions.localfield=localfield
左右吗? 或者它是如何工作的

Mongoose支持虚拟属性。虚拟属性是属性 方便携带,但不会持久化到mongodb

您无法保存虚拟数据,它是唯一的getter

Virtual是您可以获取和设置的文档属性,但实际上是这样的 不能持久化到MongoDB。这些getter对于格式化或删除数据非常有用 组合字段,而setter对于分解单个字段很有用 将值转换为多个值进行存储

这意味着我们可以仅将Virtuals用于数据准备,例如,我们可以合并
名字
姓氏
或使用引用填充文档