Javascript MongoDB UpdateOne未更新,尽管它给出了一条成功消息

Javascript MongoDB UpdateOne未更新,尽管它给出了一条成功消息,javascript,mongodb,Javascript,Mongodb,这是我的数据库数据 "reviewers": [ { "enrolledEventID": [], "enrolledId": [], "isOrganiser": false, "isAdmin": false,

这是我的数据库数据

"reviewers": [
            {
                "enrolledEventID": [],
                "enrolledId": [],
                "isOrganiser": false,
                "isAdmin": false,
                "forms": [],
                "userNotification": [],
                "isReviewer": true,
                "submissionsToReview": [],
                "_id": "5f926ea7c2cd694070f02c0a",
                "fullname": "Salman",
                "email": "salman1@gmail.com",
                "password": "$2a$10$NdRPKgYOvJt7.G1Ijh6Ii.sJnX2s4M48HyCdfmwU2OQ1JnFOD75LS",
                "__v": 0,
                "avatarImageSource": "https://ui-avatars.com/api/?name=Salman&size=64&rounded=true&background=random",
                "scores": [
                    0,
                    0,
                    0
                ]
            },
            {
                "enrolledEventID": [],
                "enrolledId": [],
                "isOrganiser": false,
                "isAdmin": false,
                "forms": [],
                "userNotification": [],
                "isReviewer": true,
                "submissionsToReview": [],
                "_id": "5f9655935c8ee155e86d723c",
                "fullname": "sadsad",
                "email": "sadsad@sadsad.com",
                "password": "$2a$10$T1yAtGrQy1UZnLoD3Bgm..yw9f2.pQqVsdlB7g5a9KK19TaEvwTNK",
                "__v": 0,
                "avatarImageSource": "https://ui-avatars.com/api/?name=sadsad&size=64&rounded=true&background=random",
                "scores": [
                    3,
                    2,
                    5
                ]
            },
            {
                "enrolledEventID": [],
                "enrolledId": [],
                "isOrganiser": false,
                "isAdmin": false,
                "forms": [],
                "userNotification": [],
                "isReviewer": true,
                "submissionsToReview": [
                    "5f7fe0fba09f2f30189d9b05"
                ],
                "_id": "5f99126693830c0c0ccc6db0",
                "fullname": "sad123",
                "email": "sad123@sad.com"
]
我想更新评论员内部的分数,以下是我的代码:

Enroll.updateOne(
  {
    _id: enrollID,
    "reviewers._id": userID,
  },
  {
    $set: {
      "reviewers.$.scores": req.body.scores,
    },
  },
  (errUpdate, resultUpdate) => {
    if (errUpdate) {
      return res.status(500).json({ success: false, error: errUpdate });
    } else {
      return res.status(200).json({ success: true, data: resultUpdate });
    }
  }
);

它给出了一条成功消息,但数据没有更新。我仍然去检查,分数和以前一样。我在哪里犯错?通常Mongo错误会给我一个线索,但这次没有。我假设
req.body.scores
是一个分数数组。如果是,请尝试以下方法:

Enroll.updateOne(
  {
    _id: enrollID
  },
  {
    $set: {
      scores: req.body.scores,
    },
  },
  (errUpdate, resultUpdate) => {
    if (errUpdate) {
      return res.status(500).json({ success: false, error: errUpdate });
    } else {
      return res.status(200).json({ success: true, data: resultUpdate });
    }
  }
);

reviewers
是一个集合还是
enroll
集合中的一个字段?如果是后者,那么您的查询是正确的,请确保在match子句中传递的ID是正确的
console.log
记录所有内容,并确保它们具有正确的数据类型。