【发布时间】:2016-12-16 12:43:57
【问题描述】:
我是 NodeJS 和 MongoDB 的新手,所以也许这个问题已经被问过了,但我无法简单回答,如果是这样,我很抱歉。
我正在研究一个看起来像这样的架构:
var usersSchema = new mongoose.Schema({
profile : {
email : {type: String, default: ''},
password : {type: String, default: ''},
firstName : {type: String, default: ''},
},
friends : [{
type : mongoose.Schema.Types.ObjectId,
ref : 'usersSchema'
}],
pets : [{
type : mongoose.Schema.Types.ObjectId,
ref : 'petsSchema'
}],
});
1) 是否可以创建一个引用自身的模式(这里用户指的是朋友列表,谁也是用户)?我没有找到任何反对的答案,但最好确定一下。
2) 实际上,我得到了宠物的 ObjectID 列表,但没有得到其他属性,例如姓名、血统……等。是否可以从请求中加载整个 Pets 文档?
User.findOne({ 'profile.email' : req.user.profile.email }).populate('Pets').exec(function(err, user){ ....
==> 这只会返回宠物的对象 ID。
非常感谢您最终的回答! 祝大家有个愉快的一天!
【问题讨论】:
标签: node.js mongodb foreign-keys documents