猫鼬-初始化对象时可以使用populate()吗?

时间:2019-07-28 02:53:13

标签: javascript mongoose mongoose-populate

猫鼬-初始化对象时可以使用populate()吗?

例如-如果我有以下模型:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const personSchema = Schema({
  _id: Schema.Types.ObjectId,
  name: String,
  age: Number,
  stories: [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});

const storySchema = Schema({
  title: String,
  keywords: [{type: String}]
});

const Story = mongoose.model('Story', storySchema);
const Person = mongoose.model('Person', personSchema);

我的数据采用以下格式:

const dataPerson_ish= {
  name: String,
  age: Number,
  stories: ["title1", "title2", "title3", "notObjectIds"]
});

我的目标是要拥有一个完全填充的const author = new Person(dataPerson_ish)对象,我要做的是两次调用数据库。 1)按标题查找Story ObjectId,然后使用populate()创建一个Person对象。

我想节省带宽-因此,如果内存中有Story数据,可以在Person之后将其合并到author.save对象中吗?

0 个答案:

没有答案