我正在使用 mongoose,并且正在使用 findByIdAndUpdate() 函数更新我的数据库。我想将元素插入文档中存在的不同数组中。我的文档中有不同名称的不同数组。我可以将名称数组作为参数传递给该函数,还是应该创建不同的函数,其中每个函数都有不同的 nameArray
?
this.findByIdAndUpdate(User._id,
{$push:{nameArray: 'element'}},
{upsert: true},
callback);
最佳答案
在 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);
关于arrays - 将数组名称作为 mongoose 中的参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25475422/