如何保存猫鼬虚拟

时间:2019-06-10 11:42:05

标签: node.js express mongoose

任何人都可以提供示例示例,说明如何为数据库关联使用保存猫鼬虚拟机吗?

已在模型中包含此内容:

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);

在文档中有关于数据填充和retrieval的信息,但是看起来应该如何正确保存?

是否必须为user.advertisements.localfield = localfield左右? 或如何运作?

2 个答案:

答案 0 :(得分:2)

  

虚拟是可以获取和设置的文档属性,但是可以   不能坚持到MongoDB。吸气剂对于格式化或   组合字段,而用setter分解单个   值转换为多个值进行存储。

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

答案 1 :(得分:1)

  

猫鼬支持虚拟属性。虚拟属性是属性   方便携带,但不要坚持使用mongodb

您无法保存虚拟数据,它只是唯一的获取器