我正在做查询更新数据库MongoDB.
例如,我在集合product
中有六个Item对象(我的实际数据很多):
{
_id: ObjectId('1232'),
title: 'Product 1',
order: 1,
code: 'A',
status: 'active'
}
{
_id: ObjectId('4444'),
title: 'Product 2',
order: 2,
code: 'B',
status: 'active'
}
{
_id: ObjectId('2232'),
title: 'Product 3',
order: 3,
code: 'A'
status: 'unActive'
}
{
_id: ObjectId('55555'),
title: 'Product 4',
order: 4,
code: 'C',
status: 'active'
}
{
_id: ObjectId('66666'),
title: 'Product 5',
order: 5,
code: 'D',
status: 'active'
}
{
_id: ObjectId('2222'),
title: 'Product 6',
order: 6,
code: 'C',
status: 'active'
}
现在,我想使用Query更新code
:
- 如果是
status = active
. - 如果是
code = A
,它将被替换为A1
. - 如果
code = B
=>;B1
. - 如果
code = C
=>;C1
. - 如果
code = D
=>;D1
下面是我提出的问题:
db.getCollection('product').updateMany({'code': 'A'}, {$set: {'code': 'A1'}})
但我只能用WHERE条件替换.如何使用AND Where或Where更改code
的值.请给我您的意见,这样我才能解决这个问题.谢谢.我是MongoDB的新手,所以我过得很艰难.希望大家都能理解.