javascript - Mongoose 通过 ID 查找,然后在数组中查找特定 ID
问题描述
我有一个看起来像这样的文件
如何执行搜索 ID 的查询,然后从结果中,我想对评论数组中的特定 ID 执行另一个查询?
我试过了,但这会导致错误
try {
TourDB.Tour.findOneAndUpdate({ _id: req.body.tourId, comments._id: req.body.commentId }, { $inc: { comments.$.likes : 1}}).exec(async (err, docs) => {
if (!err) {
return res.status(200).send(docs);
} else {
return res.status(500).send({ errorMessage: `An error occured: ${err}` });
}
});
} catch (err) {
return res.status(500).send({ errorMessage: `An error occured: ${err}` });
}
我想在文档中按 ID 查找特定评论并按一个更新喜欢。我怎样才能做到这一点?
解决方案
这个应该有效:您错过了引号“”
try {
const tour = await TourDB.Tour.findOneAndUpdate(
{ _id: req.body.tourId, 'comments._id': req.body.commentId },
{ $inc: { 'comments.$.likes': 1 } }
).exec();
res.status(200).send(tour);
} catch (err) {
return res.status(500).send({ errorMessage: `An error occured: ${err}` });
}
推荐阅读
- regex - 加入数据框时触发正则表达式
- hive - 分区键的 sqoop 导入命令问题
- android - 如何在 android 中使用 dagger 对 kotlin 文件进行 UI 测试?
- grafana - 如何在grafana中嵌套变量?
- c# - 每个 httpclient/request (HttpClient) 的安全协议
- function - unwrapping object for passing as function arguments
- android - 16 位的 AES 加密问题,但适用于 15 位
- node.js - 如何使用 find 在 mongodb 中获取值
- html - 如何修复悬停替换文本时的闪烁
- python - 搜索列表数组并检查其中一个值是否不存在