Mongo将字段的值除以指定的数量

时间:2018-07-21 05:43:39

标签: mongodb updating divide

我在更新中使用type运算符来乘以字段值

$mul

现在如何划分字段?

db.products.update( { _id: 1 }, { $mul: { price: NumberDecimal("1.25"), qty: 2 } } ) document不存在Mongodb运算符

2 个答案:

答案 0 :(得分:1)

从数学的角度来看,由于这两个操作之间存在反比关系,您仍然可以使用$mul进行除法。例如:

var divideBy = 2;
var multiplyBy = 1/divideBy;

db.products.update(
   { _id: 1 },
   { $mul: { price: multiplyBy } }
)

您将获得与缺少$div运算符一样的结果

答案 1 :(得分:0)

从 MongoDB 4.2 开始使用 update with aggregation pipeline

内部字段作为输入:

db.products.update(
  { _id: 1 },
  [{ $set: { price: { $divide: ["$price", "$qty"] } } }]
)

Playground

外部字段作为输入:

var qty = 2;
db.products.update(
  { _id: 1 },
  [{ $set: { price: { $divide: ["$price", qty] } } }]
)

Playground