【发布时间】:2021-07-13 02:54:16
【问题描述】:
我正在尝试将子文档的多个对象中的特定字段更改为 false,但是当我尝试使用 $set 更新文档时遇到了 mongoose 问题。
这是数据结构。
[{
name: 'Joe',
card: [
{ type: 'visa', select: true},
{ type: 'masterCard', select: false},
{ type: 'unionPay', select: true},
]
},{
name: 'Pascal',
card: [
{ type: 'unionPay', select: false},
{ type: 'visa', select: true},
{ type: 'masterCard', select: false},
]
}]
执行结果
[{
name: 'Joe',
card: [
{ type: 'visa', select: false}, <--- was changed to false
{ type: 'masterCard', select: false},
{ type: 'unionPay', select: false}, <--- was changed to false
]
},{
name: 'Pascal',
card: [
{ type: 'unionPay', select: false},
{ type: 'visa', select: true},
{ type: 'masterCard', select: false},
]
}]
我目前编写了这个查询,但它没有按预期工作。
this.user.model().findOneAndUpdate(
{ name: 'Joe },
{
card:{$set: { select: false },
},
);
我做错了什么?
【问题讨论】:
标签: mongodb mongoose mongodb-query mongoose-schema