猫鼬-初始化对象时可以使用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
对象中吗?