0
如何使用引用文檔本身設置DBref,並且仍然可以訪問文檔,就好像它已填充到父對象上一樣?如何在Mongoose中將文檔設置爲DBref並仍然可以訪問文檔
如果我有一個字段設置爲DBREF場一個簡單的模式:
var PostSchema = new Schema({
'title': String,
'_author', { type: Schema.ObjectId, ref: 'users'}
});
var Post = mongoose.model('posts', PostSchema);
var UserSchema = new Schema({
'name': String
});
Var User = mongoose.model('users', UserSchema);
如果我試着這樣做:
var john = User.findOne({'name': 'john'});
var post = new Post({'title': 'My Post'});
post._author = john;
post.save(function(err) {
if (!err) {
console.log(post._author);
}
});
的post._author屬性有值作者._id。我更喜歡讓_author屬性具有整個作者文檔的值(類似於如果我已對posts集合執行查找查詢並填充作者對象)。
我唯一的解決方案是在保存回調中執行這樣一個findOne查詢,並確保我將作者填入...這感覺有點偏離,因爲我基本上必須重新查詢,當我已經擁有所有信息。
有什麼建議嗎?謝謝
是的,這個作品非常好,當我只是檢索數據,但是在設置數據之後,我必須按照您描述的那樣「findOne」?當我已經擁有所需的數據時,必須發出'find'查詢似乎有點奇怪。 – jonotron