MongoDB UpdateMany
MongoDB UpdateMany
我需要更新 mongo 中的各个字段以创建新字段。示例:
db.paymentTransaction.updateOne(
{status: "PARTIALLY_REFUNDED"},
{amount: EXISTS}
{
$set: {
"amountRefundRemaining": {
FIELD_B - FIELD_A
}
}
}
)
我需要创建字段 amountRefundRemaining。但是我需要用 Field_B 减去 Field_A 的结果来填充这个新字段。但我只需要在 status=PARTIALLY_REFUNDED 和 amount 存在的地方执行此操作
我正在使用 mongoDB 4.4。
有什么想法吗?
查询
- 如果
status=PARTIALLY_REFUNDED
和 amount exists
- 添加值为
FIELD_B - FIELD_A
的字段 amountRefundRemaining
*管道更新需要 MongoDB >= 4.2
update(
{"$and":
[{"status": {"$eq": "PARTIALLY_REFUNDED"}}, {"amount": {"$exists": true}}]},
[{"$set":
{"amountRefundRemaining": {"$subtract": ["$FIELD_B", "$FIELD_A"]}}}],
{"multi": true})
我需要更新 mongo 中的各个字段以创建新字段。示例:
db.paymentTransaction.updateOne(
{status: "PARTIALLY_REFUNDED"},
{amount: EXISTS}
{
$set: {
"amountRefundRemaining": {
FIELD_B - FIELD_A
}
}
}
)
我需要创建字段 amountRefundRemaining。但是我需要用 Field_B 减去 Field_A 的结果来填充这个新字段。但我只需要在 status=PARTIALLY_REFUNDED 和 amount 存在的地方执行此操作
我正在使用 mongoDB 4.4。 有什么想法吗?
查询
- 如果
status=PARTIALLY_REFUNDED
和amount exists
- 添加值为
FIELD_B - FIELD_A
的字段
amountRefundRemaining
*管道更新需要 MongoDB >= 4.2
update(
{"$and":
[{"status": {"$eq": "PARTIALLY_REFUNDED"}}, {"amount": {"$exists": true}}]},
[{"$set":
{"amountRefundRemaining": {"$subtract": ["$FIELD_B", "$FIELD_A"]}}}],
{"multi": true})