我正在尝试使用以下查询对数据库执行更新:
itemCollection.update(
{
'questions.optional':{$exists:true}
},
{
$set:{"questions.optional.$[].items.$[itemField].name":"עכשיו"}
},
{
arrayFilters:
[
{"itemField.id": itemId}
],
$multi:true
}, (error) => {
if(!error){
menuUpdate.redisClientDel(item, next, err);
}
}
)
但是我收到此错误:
No array filter found for identifier 'itemField' in path 'questions.optional.$[].items.$[itemField].name'
我先在Studio 3T中测试了该查询,然后再将其应用到我的代码中,并且可以正常工作。当我将其与NodeJS一起使用时,它为什么不起作用的原因可能是什么?