如何使用猫鼬将某些内容推入子文档?

时间:2020-08-06 21:48:13

标签: mongodb mongoose

   const  itemSchema=new mongoose.Schema({
      name:String
    });
    
    const Item =mongoose.model("Item",itemSchema);
    
    
    const  listSchema=new mongoose.Schema({
      name:String,
      items:[itemSchema]
    });
    
    
    const List=mongoose.model("List",listSchema);
    
    
    
    const userSchema=new mongoose.Schema({
      username:String,
      password:String,
      lists:[listSchema]
    });
    
    
    
    const User=mongoose.model("User",userSchema);
    
    
    
    
    var item1=new Item({
        name:"Apple"
      });
      var item2=new Item({
        name:"Banana"
      });
      const list=new List({
        name:"Fruits",
        items:[]
      });

   const user=new User({
      username:"Eric",
      password:"123456",
      lists:[]
    });
    user.save();

因此,现在我想将项目推送到列表中,然后将列表推送到具有用户名Eric的用户中。然后,我想使用findOne查找项目。但是我不知道该怎么办。这是我的尝试:

User.findOne({username:"Eric"},function(err,foundUser){
  foundUser.lists.push(list);
foundUser.save();
});
User.findOne({username:"Eric"},{lists.$.name:"fruit"},function(err,foundUser){
  foundUser.items.push(item1);
  foundUser.save();
});

我已成功将列表添加到用户中,但我不知道如何将项目添加到列表中

0 个答案:

没有答案