我正在尝试创建一个嵌套对象数组。我正在遵循一本书中的示例,该示例执行以下操作:
// Creates the Schema for the Features object (mimics ESRI)
var Phone = new Schema({
number: { type: Number, required: false },
...
personId: {type: Schema.Types.ObjectId}
}
);
// Creates the Schema for the Attachments object
var Person = new Schema({
name: { type: String },
phones: [Phone]
}
);
var Person = mongoose.model('Person', Person);
为一个人存储多个电话号码时效果很好。但是我不确定是否有一种好的/快速的方法可以通过_id 获取电话对象。由于 Phone 不是猫鼬模型,因此您不能直接转到 Phone.findOne({...}); 现在,我坚持通过 _id 获取一个人,然后遍历该人的电话并查看 id 是否匹配。
然后我偶然发现了这个链接: http: //mongoosejs.com/docs/populate.html
一种方法比另一种更正确吗?目前,当我删除一个人时,他/她的手机也会消失。不太确定是否适用于“填充”,似乎我需要删除人员和电话。
有人想尝试解释这些差异吗?
提前致谢