簡體   English   中英

MongoDB和Mongoose:貓鼬可以在創建參考文檔之前映射參考文檔嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM