猫鼬子文档数组更新

Mongoose subdocument array update

请帮我写一个 mongoose 代码,在找到字符串后将其推送到特定子文档的数组中。

  1. 如何查找和检索子文档
  2. 更新其中的一个数组
  3. 保存

At first you retrieve the document then you can push like(doc.push(data)) then doc.save()

这里 members 是 club 中的子文档 看看这个。这肯定会解决问题

router.post("/update", verify, async (req, res) => {
      Club.findOneAndUpdate(
        {
          _id: req.club._id,
          "Members.name": req.club.Mem_Name,
        },
        {
          $set: {
            "Members.$.email": req.body.email,
            "Members.$.phonenumber": req.body.phonenumber,
            "Members.$.graduationyear": req.body.graduationyear,
            "Members.$.reg": req.body.reg,
          },
        },
        { multi: true },
        (err, doc) => {
          if (err) console.log(err);
          else res.json(doc);
        }
      );
    });