我使用mongoose并且我使用findByIdAndUpdate()函数更新了我的数据库。我想将元素推送到文档中的不同数组中。我在我的文档中有不同名称的不同数组。我可以将name数组作为参数传递给this函数,或者我应该创建不同的函数,其中每个函数都有不同的nameArray
?
this.findByIdAndUpdate(User._id,
{$push:{nameArray: 'element'}},
{upsert: true},
callback);
答案 0 :(得分:3)
在 Node.js 4.x 中,您可以使用computed property语法直接在$push
对象文字中执行此操作:
this.findByIdAndUpdate(User._id,
{$push: {[nameArray]: 'element'}},
{upsert: true},
callback);
在以前的版本中,您需要以编程方式构建$push
对象:
var push = {};
push[nameArray] = 'element';
this.findByIdAndUpdate(User._id,
{$push: push},
{upsert: true},
callback);