我在Mongoose / Node.js中有以下架构:
var ItemsSchema = new Schema({
itemname: String,
quantity: String
});
var ListSchema = new Schema({
listname: String,
items: [ItemsSchema]
});
var UsersSchema = new Schema ({
username: String,
owned: [ListSchema]
});
因此每个用户可能有很多列表。每个列表可以包含许多项目。 如何将新项目插入特定列表? 使用User.findOne({“owned._id”:listid} ...将给我拥有特定列表的用户,但我无法弄清楚如何继续获取单个列表。
感谢您的建议!
答案 0 :(得分:1)
你可以尝试这样做。
User.findById(id, function(err, doc){
doc.owned[n].items.push(item);
}
任何用户都有一个独立的列表,您必须访问用户列表并将项目推送到特定列表。
用户不共享列表,当然也不包含此结构的项目。
对不起我的英语。