我有一个包含子文档的文档:
var childSchema = new Schema({ name: 'string' });
var Child = mongoose.model("Child", childSchema);
var parentSchema = new Schema({
children: [childSchema],
child: childSchema
});
var Parent = mongoose.model("Parent", parentSchema);
以及引用子文档的文档:
var sibling1Schema = new Schema({
nieces: [{type: mongoose.Schema.ObjectId, ref: "Child"}]
});
var Sibling1 = mongoose.model("Sibling1", sibling1Schema);
var sibling2Schema = new Schema({
preferredNephew: {type: mongoose.Schema.ObjectId, ref: "Child"}
});
var Sibling2 = mongoose.model("Sibling2", sibling2Schema);
我遇到的问题是,当我有sibling1Schema
和sibling2Schema
的实例,并且尝试填充nieces
或preferredNephew
时,这些属性分别返回为{{ 1}}和null
。
人口代码如下:
[]
我绝对可以看到const sib1Array = await Sibling1.find().populate("nieces");
const sib2Array = await Sibling.find().populate("preferredNephew");
和sibling1Schema
实例中的对象ID是对父模式引用下的对象的有效引用。
这是预料之中的,我想念什么还是做错了什么?