【发布时间】:2014-10-17 23:37:40
【问题描述】:
我正在使用 mongoose,并且正在使用 findByIdAndUpdate() 函数更新我的数据库。我想将元素推送到文档中存在的不同数组中。我的文档中有不同名称的不同数组。我可以将名称数组作为参数传递给这个函数还是我应该创建不同的函数,其中每个函数都有不同的nameArray?
this.findByIdAndUpdate(User._id,
{$push:{nameArray: 'element'}},
{upsert: true},
callback);
【问题讨论】:
-
JavaScript 对象文字目前不允许变量作为键。
:左侧的标识符将用作其名称,因此"nameArray"是属性的名称。相关:How do I add a property to a Javascript Object using a variable as the name? 和相关Is this Javascript object literal key restriction strictly due to parsing? -
不过,为了将来参考,当前的 ECMAScript 6 草案已经为对象初始化器定义了一个 ComputedPropertyName 语法 --
{ [nameArray]: 'element' }。
标签: arrays node.js mongodb mongoose