Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Lấy giá trị tuyệt đối với MongoDB Aggregation Framework?

Để lấy giá trị tuyệt đối (absolute value) trong MongoDB, bạn sử dụng toán tử $abs trong aggregation pipeline.

Tạo dữ liệu mẫu

> 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 })

Hiển thị tất cả document:

> db.absoluteValueDemo.find().pretty();
{ "_id" : ObjectId("5ca271f56304881c5ce84b9a"), "Value" : 98 }
{ "_id" : ObjectId("5ca271fa6304881c5ce84b9b"), "Value" : -100 }
{ "_id" : ObjectId("5ca271fe6304881c5ce84b9c"), "Value" : 0 }
{ "_id" : ObjectId("5ca2720f6304881c5ce84b9d"), "Value" : -9999990 }

Sử dụng $abs trong Aggregation

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

Kết quả:


Lưu ý: Toán tử $abs chuyển đổi số âm thành dương, số dương và 0 giữ nguyên. Đây là một trong nhiều toán tử số học có sẵn trong aggregation framework của MongoDB (cùng với $add, $subtract, $multiply, $divide, v.v.).