[英]MongoDB & Mongoose: Can mongoose map referenced documents before referenced document is created?
我認為我的帖子標題有點含糊。 讓我澄清一下。
我有以下架構:
var listSchema = mongoose.Schema({
_owner: { type:ObjectId, ref: 'User' },
title: String,
description: String,
creation_date: { type: Date, default: Date.now }
});
var taskSchema = mongoose.Schema({
_taskList: { type: ObjectId, ref: 'List' },
title: String,
description: String,
creation_date: { type: Date, default: Date.now }
});
var List = mongoose.model('List', listSchema);
var Task = mongoose.model('Task', taskSchema);
每個“任務”都引用一個“列表”。 是否可以保存新的“任務”以引用集合中不存在的“列表”? 例如:
//assume I have a user.id
var NewList = new List({
_owner: user._id,
title: 'Test List',
description: 'List Description'
});
var NewTask = new Task({
_taskList : NewList, //ref to the document above (_id not created yet)
title: 'Task Title',
description: 'Task Description'
});
NewTask.save(function(err, task){
...
});
是否可能發生這種情況,還是我需要保存列表然后保存任務?
非常感謝!
Mongoose實際上為新的文檔客戶端創建了_id
值,因此即使在保存它之前,您也可以訪問NewList
的_id
。
因此,您可以簡單地執行以下操作:
var NewTask = new Task({
_taskList : NewList._id,
title: 'Task Title',
description: 'Task Description'
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.