javascript - MongoDB UpdateOne 没有更新,尽管它给出了成功的消息
问题描述
所以这是我的数据库数据;
"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 });
}
}
);
推荐阅读
- python - 为什么不在 Python 中使用双精度?
- google-analytics - 如何知道 Google Analytics Property 是否会超过 10M Hit Limit?除了检查谷歌分析?谷歌提供的任何API?
- c - 不传递参数比较函数如何工作
- android - 缺少api密钥android Cloudinary上传错误
- reactjs - RadioGroup 未更新为选定的单选按钮
- c# - 如何有效地处理多个按钮和其他元素的可见性和 isEnabled
- algorithm - 有人可以直观地解释一下这段代码吗?
- matlab - 是否有一个 Matlab 函数可以将 rho 和 theta 重新投影到投影的纬度?
- react-native - 与 RN 0.60 自动链接不兼容
- c++ - 如何读取特定单词之间的文本文件?