javascript mongoose获取arrayFilter数组索引的值并用作值
我想用arrayfilter变量更新一个字段,这就是我到目前为止所做的javascript mongoose获取arrayFilter数组索引的值并用作值,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,我想用arrayfilter变量更新一个字段,这就是我到目前为止所做的 var items='green shirt' Model.update({ id: 7c59453a6194a90217defc70 },{ {$set:{ 'arrayname.$[firstArray].field1':'my new name', 'arrayname.$[firstArray].field2':'myusername' 'arrayn
var items='green shirt'
Model.update({
id: 7c59453a6194a90217defc70
},{
{$set:{
'arrayname.$[firstArray].field1':'my new name',
'arrayname.$[firstArray].field2':'myusername'
'arrayname.$[firstArray].field3':[items+[arrayname.$[firstArray].field4]]
},
arrayFilters:[{"firstArray._id":7c59453a6194a90217defc70}],
new:true, safe:false}},
function(err, update){
if(err){}
else{}
})
通过使用arrayFilter,我将能够获得我想要处理的特定阵列。
现在我的逻辑是,arrayFilter将获取特定项的索引并使其
在$set表达式中可用。
如何获取arrayIndex并将其用作值的变量。如上文字段3所示
'arrayname.$[firstArray].field3':[items+[**arrayname.$[firstArray].field4**]]
This produced an error arrayname is undefined
我试过的其他一些
1. 'arrayname.$[firstArray].field3':[items+[`**arrayname.$[firstArray].field4**`]]
It was inserted into the data as a string
有人可能会说最好的方法是在更新中使用find-and-save方法,但我正在研究
一种减少对服务器调用的方法
这将(正如我所相信的)使该计划更有效率