如何将新的 属性 添加到我在 Mongoose 中找到的对象?

How to add new property to object that I findByID in Mongoose?

我在 mongodb 中有一个对象,我想在其 属性 中添加名为 players 的新玩家。

我已经使用 findByIdAndUpdate 创建了一个路由器,但未能成功将 新玩家 添加到我的 玩家 property.This 是我创建它的方式。它不是添加新的,而是更新旧的 属性。我查看了 mongoose 文档并查看了 Whosebug,我找不到如何操作。

router.post("/addPlayer/:id", (req, res) => {
  const id = req.params.id;
  Item.findByIdAndUpdate(
    id,
    { players: { name: "mehmet", age: 25 } },
    function (err, docs) {
      if (err) {
        console.log(err);
      } else {
        console.log("Updated User : ", docs);
      }
    }
  );
});

这里我想添加新玩家,例如,

 {player:'ali',age:22}

因为它是一个数组,你可以简单地做一个 pushsave.

Players 是一个数组,如果你想将新玩家添加到它,你可以像这样使用 $push

router.post("/addPlayer/:id", (req, res) => {
  const id = req.params.id;
  Item.findByIdAndUpdate(
    id,
    { $push: { players: { name: "mehmet", age: 25 } }},
    function (err, docs) {
      if (err) {
        console.log(err);
      } else {
        console.log("Updated User : ", docs);
      }
    }
  );
});

如果要更新第一个索引可以查看here以供参考。