使用MongoDB聚合框架获取绝对值?


你可以把 $abs 运算符用于此目的。首先让我们创建一个包含文档的集合

> db.absoluteValueDemo.insert({"Value":98});
WriteResult({ "nInserted" : 1 })
> db.absoluteValueDemo.insert({"Value":-100});
WriteResult({ "nInserted" : 1 })
> db.absoluteValueDemo.insert({"Value":0});
WriteResult({ "nInserted" : 1 })
> db.absoluteValueDemo.insert({"Value":-9999990});
WriteResult({ "nInserted" : 1 })

以下是对集合中所有文档进行展示的查询,使用 find() 方法

> db.absoluteValueDemo.find().pretty();

将产生以下输出

{ "_id" : ObjectId("5ca271f56304881c5ce84b9a"), "Value" : 98 }
{ "_id" : ObjectId("5ca271fa6304881c5ce84b9b"), "Value" : -100 }
{ "_id" : ObjectId("5ca271fe6304881c5ce84b9c"), "Value" : 0 }
{ "_id" : ObjectId("5ca2720f6304881c5ce84b9d"), "Value" : -9999990 }

以下是对集合中所有文档进行展示的查询,使用 find() 方法

> db.absoluteValueDemo.aggregate({ $project: { AbsoluteValue: { $abs: '$Value' } }});

将产生以下输出

{ "_id" : ObjectId("5ca271f56304881c5ce84b9a"), "AbsoluteValue" : 98 }
{ "_id" : ObjectId("5ca271fa6304881c5ce84b9b"), "AbsoluteValue" : 100 }
{ "_id" : ObjectId("5ca271fe6304881c5ce84b9c"), "AbsoluteValue" : 0 }
{ "_id" : ObjectId("5ca2720f6304881c5ce84b9d"), "AbsoluteValue" : 9999990 }

更新日期:2019-07-30

211 次浏览

开启你的 职业

完成课程后获得认证

现在开始
广告
© . All rights reserved.