繁体   English   中英

如何保存猫鼬虚拟

[英]How to save mongoose virtuals

谁能提供示例如何为数据库关联使用保存猫鼬虚拟?

模型中已经有这个:

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.advertisements.localfield = localfield左右? 或者它是如何工作的?

虚拟是您可以获取和设置但不会持久化到 MongoDB 的文档属性。 getter 可用于格式化或组合字段,而 setter 可用于将单个值分解为多个值进行存储。

这意味着我们可以仅使用 Virtuals 进行数据准备,例如我们可以合并first namelast name或使用参考填充文档。

Mongoose 支持虚拟属性。 虚拟属性是易于使用不会持久化到 mongodb 的属性。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM