本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
$mul
Amazon DocumentDB 中的$mul运算符用于将字段的值乘以指定的数字。这对于自动一致地更新多个文档非常有用,例如根据信用卡状态更新飞行里程。
参数
-
field:要相乘的字段。 -
multiplier:字段值乘以的数字。
示例(MongoDB 外壳)
此示例演示如何使用$mul运算符将该credit_card字段所在的所有文档的flight_miles值加倍true。
创建示例文档
db.miles.insertMany([ { "_id": 1, "member_since": new Date("1987-01-01"), "credit_card": false, "flight_miles": [1205, 2560, 880] }, { "_id": 2, "member_since": new Date("1982-01-01"), "credit_card": true, "flight_miles": [2410, 5120, 1780, 5560] }, { "_id": 3, "member_since": new Date("1999-01-01"), "credit_card": true, "flight_miles": [2410, 1760] } ]);
查询示例
db.miles.update( { "credit_card": { "$eq": true } }, { "$mul": { "flight_miles.$[]": NumberInt(2) } }, { "multi": true } );
输出
{ "_id" : 1, "member_since" : ISODate("1987-01-01T00:00:00Z"), "credit_card" : false, "flight_miles" : [ 1205, 2560, 880 ] }
{ "_id" : 2, "member_since" : ISODate("1982-01-01T00:00:00Z"), "credit_card" : true, "flight_miles" : [ 4820, 10240, 3560, 11120 ] }
{ "_id" : 3, "member_since" : ISODate("1999-01-01T00:00:00Z"), "credit_card" : true, "flight_miles" : [ 4820, 3520 ] }
对于持有信用卡的乘客,他们的飞行里程翻了一番。
$[]位置数组运算符用于将$mul运算应用于flight_miles数组中的每个元素。
代码示例
要查看使用该$mul命令的代码示例,请选择要使用的语言的选项卡: