在不丢失先前信息的情况下更新猫鼬中的数组

问题描述

我试图将来自 req.body 的新信息存储在一组 ID 中,但我只能更新新信息。我想我需要使用 rest 运算符,但不确定在哪里。有什么提示吗?

我想得到什么

pets: [allprevIoUsObjectID,newObjectID]

但此刻只得到:

pets: [newObjectId]

这是我为此字段创建的模型架构的一部分:

pets: [{ type: mongoose.Schema.Types.ObjectId,ref: 'Pets' }]

这是我正在使用的功能

router.post('/register',[isAuthenticated],async (req,res,next) => {
  try {
    const newPet = new PetsModel({
      name: req.body.name,age: req.body.age,weight: Number(req.body.weight),img: req.body.img,breed: req.body.breed,dateArrivalInShelter: req.body.dateArrivalInShelter,about: req.body.about,status: req.body.status,shelterId: req.user
    });

    await newPet.save();

    await ShelterModel.findByIdAndUpdate(req.user,{
      pets: newPet
    });

    res.status(201).json({
      success: true,data: 'Pet Created'
    });
  } catch (error) {
    next(error);
  }
});

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)