node.js - MONGOOSE, "$" 运算符没有按预期工作 // elemMatch
问题描述
这是命令
const filter = {
searchWord: req.body.searchWord,
result: { $elemMatch: { idMeal: req.body.mealData.idMeal } },
};
const update = { $set: { 'result.$.strMeal': req.body.mealData.strMeal } };
const returnData = { returnOriginal: false };
Meal.findOneAndUpdate(
filter,
update,
returnData,
function (err, foundMeal) {
res.json(foundMeal.result);
}
);
如果我使用 $ 运算符,它不会更新相应的字段,而是更新第二个字段,所以它就像我输入的一样工作
'result.1.strMeal'
代替
'结果.$.strMeal'
这是猫鼬问题还是由什么引起的?
解决方案
推荐阅读
- powerbi - IF() 使用忽略过滤器的变量进行测量
- laravel - 数组到带有箭头的集合访问?
- java - Osm:Relation to GeoJson的逻辑和代码示例
- angular - Angular 7 - 使用 ng-content 投影对表 trs 进行排序
- javascript - 通过电报机器人上传和发送字符串作为文件
- python - 是否可以在 MacOS 上使用 pyexiv2 和 python3
- wpf - 如果 3 个选项卡中的三个文本框之一具有内容,则启用按钮
- loops - 导入 Ansible 角色时,有没有办法循环两个变量?
- android - 当按钮位于另一个片段内时,从主活动调用按钮单击事件
- sql - 我需要从同一个表中提取重复信息,但它不是相同的行中的全部信息