我有一个项目架构和集合以及一个列表架构和集合。
我目前与创建列表分开创建项目......但每个项目都引用一个列表 objectId。
var ListSchema = new Schema({
name : { type: String, required: true, trim: true }
, user : { type: Schema.ObjectId, ref: 'User', index: true }
, description : { type: String, trim: true }
});
var ItemSchema = new Schema({
name : { type: String, required: true, trim: true }
, description: { type: String, trim: true }
, list : { type: Schema.ObjectId, ref: 'List', index: true }
});
我想知道是否可以获得一个列表并将该列表的项目加载到该实例的顶部:
所以我可以这样做:
list.items
获取视图中的所有项目。
//routes/list.js
List.find({ user: req.params.userid }, function(err, lists){
//i want to populate list.items here
res.render('/lists', { lists: lists });
});
//views/list.ejs
<% lists.forEach(function(list){ %>
List has <%= list.items.length %> items in it
<% }) %>