1
我被困在試圖弄清楚這是否可能。如何返回最後一個push()嵌入式文檔
使用博客例如,從貓鼬展示,但我的實際使用情況稍微複雜一些:
var Comments = new Schema({
title : String
, body : String
, date : Date
});
var BlogPost = new Schema({
author : ObjectId
, title : String
, body : String
, date : Date
, comments : [Comments]
});
var BlogPost = mongoose.model('BlogPost');
var post = new BlogPost();
我需要建立一個新的評論和新評論返回給客戶端。作爲嵌入式文檔發表評論對我來說非常方便,並且運行良好。但是,我不希望每次添加新的評論時都向客戶端返回每條評論。
post.comments.push({ title: 'My comment' });
由於我使用的是貓鼬,如果我能一些如何獲得新的意見,幫助,也讓我增加其它功能,如編輯評論或刪除評論的id
。
做到這一點的唯一方法是將評論作爲自己的收藏?
這肯定有幫助,但沒有某種「id」客戶端無法做任何進一步的評論。例如刪除它,編輯它等。我可以得到新的嵌入式文檔的「ID」? – Tom 2012-01-11 06:23:59
@Tom:嵌入式文檔沒有ID。除非你自己分配它們。但是,DB沒有進行任何唯一性檢查,這一切都在你身上。你可以在你的node.js代碼中生成一個唯一的ObjectId。 – 2012-01-11 06:26:21
謝謝塞爾吉奧。我使用的是貓鼬,它爲你增加了那種魔力:) – Tom 2012-01-11 06:31:27