Я разрабатываю web-узел node.js + mongoose, и у меня есть одно сомнение в создании базы данных. Это как определяется база данных:Узел js + Mongo db design
var user = new Schema({
id : ObjectId,
name : String,
password : String,
email : String,
created : Date
});
var comment = new Schema({
id : ObjectId,
userId: ObjectId,
content : String,
created : Date
})
Я хочу, чтобы связать каждый комментарий с пользователем ... Так ... что лучший способ сделать это? Я думал, чтобы добавить один из этих двух комментариев к схеме ... но я, если его правильный ответ, не знаю, или если есть еще лучше:
userId: ObjectId,
или:
userObject: user
Спасибо!
Надеюсь, вы можете мне помочь!
Итак, когда я хочу найти все комментарии от одного пользователя ... Это должно быть сделано как ... db.Comment.find ({userId: ObjectId ("whatever")}) ?? –
Да. Определенно, что я буду делать. 'db.Comment.find(). где ('userId', 'whatever')' больше глазного сахара, через. Если это функция, которую вы часто используете, я настоятельно рекомендую вам сделать это [Model method] (http://mongoosejs.com/docs/methods-statics.html), чтобы вы могли вызвать, например, 'db .User.findComments (...) ', или' db.Comments.findByUser (...) '. – Pierre
Mongoose также [поддерживает 'populate'] (http://mongoosejs.com/docs/populate.html), который может выполнить дополнительный запрос для вас. –