如何使用mongoose中的$ set动态更新嵌入式文档

时间:2017-03-08 22:37:29

标签: javascript node.js mongodb mongoose

我试图创建一个函数来更改具有给定位置的嵌入式MongoDB文档(包含在数组中)的值。

4010.61219348448

我试过使用es6字符串插值removeAddress(accountNumber, position) { const remove = Account.findOneAndUpdate({ accountNumber: accountNumber }, { $set: { `mailingAddress.${position}.active`: false } }) return Promise.resolve(remove); } mailingAddress.${position}.active,但都不起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

动态构建setter:

var setter = { $set: {} };
setter.$set["mailingAddress." + position + ".active"] = false;

const remove = Account.findOneAndUpdate({
    accountNumber: accountNumber
}, setter)