-
Notifications
You must be signed in to change notification settings - Fork 340
MongoDB Rounding
Rafael J. Rodriguez edited this page Jan 6, 2017
·
2 revisions
Created by Rafase282
Github | FreeCodeCamp | CodePen | LinkedIn | Medium Website | E-Mail
The Number prototype contains a function toFixed()
, which accepts the number of decimal places you would like to round to, and returns a string representation.
var value = "1"
Number(value).toFixed(5)
// => '1.00000'
If your program does not finish executing, you may have forgotten to close the db. That can be done by calling db.close() after you have finished.
- http://docs.mongodb.org/manual/aggregation/
- http://docs.mongodb.org/manual/core/aggregation-introduction/
var mongo = require('mongodb').MongoClient;
var url = 'mongodb://localhost:27017/learnyoumongo';
mongo.connect(url, function(err, db) {
if (err) throw err;
var collection = db.collection('prices');
collection.aggregate([
{ $match: { size: process.argv[2] } }
, { $group: {
_id: 'total' // This can be an arbitrary string in this case
, total: {
// $sum is the operator used here
$avg: '$price'
}
}}
]).toArray(function(err, results) {
// handle error
if (err) throw err
console.log(Number(results[0].total).toFixed(2))
db.close()
})
})
var mongo = require('mongodb').MongoClient
var size = process.argv[2]
var url = 'mongodb://localhost:27017/learnyoumongo'
mongo.connect(url, function(err, db) {
if (err) throw err
var prices = db.collection('prices')
prices.aggregate([{
$match: {
size: size
}
}, {
$group: {
_id: 'total',
total: {
$avg: '$price'
}
}
}]).toArray(function(err, results) {
if (err) throw err
if (!results.length) {
throw new Error('No results found')
}
var o = results[0]
console.log(Number(o.total).toFixed(2))
db.close()
})
})
Thanks for visiting, if you like this please feel free to star my repo, follow me or even contact me about contributing as it will be a lot of work and having help would be cool.
- HTML5 and CSS
- Responsive Design with Bootstrap
- Gear up for Success
- jQuery
- Basic JavaScript
- Object Oriented and Functional Programming
- Basic Algorithm Scripting
- Basic Front End Development Projects
- Intermediate Algorithm Scripting
- JSON APIs and Ajax
- Intermediate Front End Development Projects
- Claim Your Front End Development Certificate
- Upper Intermediate Algorithm Scripting
- Automated Testing and Debugging
- Advanced Algorithm Scripting
- AngularJS (Legacy Material)
- Git
- Node.js and Express.js
- MongoDB
- API Projects
- Dynamic Web Applications
- Claim Your Back End Development Certificate
- Greefield Nonprofit Project 1
- Greefield Nonprofit Project 2
- Legacy Nonprofit Project 1
- Legacy Nonprofit Project 2
- Claim your Full Stack Development Certification
- Whiteboard Coding Interview Training
- Critical Thinking Interview Training
- Mock Interview 1
- Mock Interview 2
- Mock Interview 3