ネストされたオブジェクトの配列を作成しようとしています。私は次のことをする本の例に従っています:
// 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);
これは、1人の人に複数の電話番号を保存する場合に問題なく機能します。ただし、_idでPhoneオブジェクトを取得するための適切で高速な方法があるかどうかはわかりません。Phoneはマングースモデルではないため、Phone.findOne({...});に直接アクセスすることはできません。現在、私は_idで人を取得し、その人の電話をループして、idが一致するかどうかを確認することに固執しています。
それから私はこのリンクに出くわしました:http: //mongoosejs.com/docs/populate.html
片方がもう片方より正しいですか?現在、人を削除すると、その人の電話も消えます。'populate'で機能するかどうかはよくわかりませんが、PersonとPhonesを削除する必要があるようです。
誰かが違いを説明しようとしますか?
前もって感謝します