Nonprofit Pizza Maker

    mongo-round

    1.0.0 • Public • Published

    mongo-round Build Status

    Helper function to perform rounding of numbers when working with mongoDB Aggregation Framework.

    npm install mongo-round
    

    Usage

    var round = require('mongo-round');

    To zero decimal places:

    db.myCollection.aggregate([
        { $project: {
            roundValue: round('$value')
        } }
    ]);

    To two decimal places:

    db.myCollection.aggregate([
        { $project: {
            roundAmount: round('$amount', 2)
        } }
    ]);

    To cents and from cents - saves from rounding errors for armithmetic operations on financial data:

    db.myCollection.aggregate([
        { $project: {
            amountCents: round({$multiply:['$amount', 100]})
        } },
        { $group: {
            _id: null, amountCents: {$sum: '$amountCents'}
        } }
        { $project: {
         amount: round({$divide:['$amountCents', 100]}, 2)
        } }
    ]);

    Note that for negative numbers rounding is done using absolute values, which is fitting for financial data:

    round(-0.5) will give -1
    

    License

    MIT

    Install

    npm i mongo-round

    DownloadsWeekly Downloads

    1,059

    Version

    1.0.0

    License

    MIT

    Last publish

    Collaborators

    • fizker
    • jonatanpedersen
    • bifrost
    • wtfil
    • kapetan
    • eagleeye
    • bubenshchykov
    • ebdrup
    • mpushkin