Javascript MongoDB在nodeJS中按索引更新文档的数组元素
如何在Meteor或nodeJS中增加MongoDB文档数组中特定元素的值 比如,我有以下文件:Javascript MongoDB在nodeJS中按索引更新文档的数组元素,javascript,arrays,node.js,mongodb,meteor,Javascript,Arrays,Node.js,Mongodb,Meteor,如何在Meteor或nodeJS中增加MongoDB文档数组中特定元素的值 比如,我有以下文件: { "_id" : "4tP6ewe4Z5kwYA3Je", "name" : "chutia", "address" : "shonir akhra", "itemCount" : "4", "items" : [ "3", "4", "13", "24" ] } 我需要增加it
{
"_id" : "4tP6ewe4Z5kwYA3Je",
"name" : "chutia",
"address" : "shonir akhra",
"itemCount" : "4",
"items" : [
"3",
"4",
"13",
"24"
]
}
我需要增加items
数组的n
第个元素。其中n
是一个变量。如本文所述,
可以用点表示法增加数组中的元素
下面的示例将项的第一个元素增加1
db.<collection>.update(
<query>,
{ $inc: { "items.0": 1 } }
)
db..update(
,
{$inc:{“items.0”:1}
)
正确的方法是:
{$inc: {[`items.${idx}`]: 1}}
其中,
idx
是数组索引。礼貌在我的情况下,数组的索引将是一个变量。所以,我想,“items.0”
不起作用。如何处理这个问题?{$inc:{[`items.${idx}`]:1}}
,其中idx
是您的索引。这种语法是否有名称(或者是否在某处记录了约定?)-即包含模板字符串的数组-我以前从未见过它,我花了一段时间才弄清楚我在看什么!我仍然不明白“数组括号”如何/为什么使键名可以接受。(不过对我来说确实有效!)如果对其他人有帮助,请更新之前的评论-它似乎是一个“计算键”,请参阅:和