Mongodb integration
Connect to MongoDB
Section titled “Connect to MongoDB”Connect to MongoDB, print ‘Connected!’ and close the connection.
const MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost:27017/test';
MongoClient.connect(url, function(err, db) { // MongoClient method 'connect' if (err) throw new Error(err); console.log("Connected!"); db.close(); // Don't forget to close the connection when you are done});MongoClient method Connect()
Section titled “MongoClient method Connect()”MongoClient.connect(url, options, callback)
| Argument | Type | Description |
|---|---|---|
url | string | A string specifying the server ip/hostname, port and database |
options | object | (optional) Optional settings (default: null) |
callback | Function | Function to be called when the connection attempt is done |
The callback function takes two arguments
err: Error - If an error occurs theerrargument will be defineddb: object - The MongoDB instance
Insert a document
Section titled “Insert a document”Insert a document called ‘myFirstDocument’ and set 2 properties, greetings and farewell
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/test';
MongoClient.connect(url, function (err, db) { if (err) throw new Error(err); db.collection('myCollection').insertOne({ // Insert method 'insertOne' "myFirstDocument": { "greetings": "Hellu", "farewell": "Bye" } }, function (err, result) { if (err) throw new Error(err); console.log("Inserted a document into the myCollection collection!"); db.close(); // Don't forget to close the connection when you are done });});Collection method insertOne()
Section titled “Collection method insertOne()”db.collection(collection).insertOne(document, options, callback)
| Argument | Type | Description |
|---|---|---|
collection | string | A string specifying the collection |
document | object | The document to be inserted into the collection |
options | object | (optional) Optional settings (default: null) |
callback | Function | Function to be called when the insert operation is done |
The callback function takes two arguments
err: Error - If an error occurs theerrargument will be definedresult: object - An object containing details about the insert operation
Read a collection
Section titled “Read a collection”Get all documents in the collection ‘myCollection’ and print them to the console.
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/test';
MongoClient.connect(url, function (err, db) { if (err) throw new Error(err); var cursor = db.collection('myCollection').find(); // Read method 'find' cursor.each(function (err, doc) { if (err) throw new Error(err); if (doc != null) { console.log(doc); // Print all documents } else { db.close(); // Don't forget to close the connection when you are done } });});Collection method find()
Section titled “Collection method find()”db.collection(collection).find()
| Argument | Type | Description |
|---|---|---|
collection | string | A string specifying the collection |
Update a document
Section titled “Update a document”Find a document with the property { greetings: 'Hellu' } and change it to { greetings: 'Whut?' }
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/test';
MongoClient.connect(url, function (err, db) { if (err) throw new Error(err); db.collection('myCollection').updateOne({ // Update method 'updateOne' greetings: "Hellu" }, { $set: { greetings: "Whut?" }}, function (err, result) { if (err) throw new Error(err); db.close(); // Don't forget to close the connection when you are done });});Collection method updateOne()
Section titled “Collection method updateOne()”db.collection(collection).updateOne(filter, update, options. callback)
| Parameter | Type | Description |
|---|---|---|
filter | object | Specifies the selection critera |
update | object | Specifies the modifications to apply |
options | object | (optional) Optional settings (default: null) |
callback | Function | Function to be called when the operation is done |
The callback function takes two arguments
err: Error - If an error occurs the err argument will be defineddb: object - The MongoDB instance
Delete a document
Section titled “Delete a document”Delete a document with the property { greetings: 'Whut?' }
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/test';
MongoClient.connect(url, function (err, db) { if (err) throw new Error(err); db.collection('myCollection').deleteOne(// Delete method 'deleteOne' { greetings: "Whut?" }, function (err, result) { if (err) throw new Error(err); db.close(); // Don't forget to close the connection when you are done });});Collection method deleteOne()
Section titled “Collection method deleteOne()”db.collection(collection).deleteOne(filter, options, callback)
| Parameter | Type | Description |
|---|---|---|
filter | object | A document specifying the selection critera |
options | object | (optional) Optional settings (default: null) |
callback | Function | Function to be called when the operation is done |
The callback function takes two arguments
err: Error - If an error occurs the err argument will be defineddb: object - The MongoDB instance
Delete multiple documents
Section titled “Delete multiple documents”Delete ALL documents with a ‘farewell’ property set to ‘okay’.
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/test';
MongoClient.connect(url, function (err, db) { if (err) throw new Error(err); db.collection('myCollection').deleteMany(// MongoDB delete method 'deleteMany' { farewell: "okay" }, // Delete ALL documents with the property 'farewell: okay' function (err, result) { if (err) throw new Error(err); db.close(); // Don't forget to close the connection when you are done });});Collection method deleteMany()
Section titled “Collection method deleteMany()”db.collection(collection).deleteMany(filter, options, callback)
| Parameter | Type | Description |
|---|---|---|
filter | document | A document specifying the selection critera |
options | object | (optional) Optional settings (default: null) |
callback | function | Function to be called when the operation is done |
The callback function takes two arguments
err: Error - If an error occurs the err argument will be defineddb: object - The MongoDB instance
Simple connect
Section titled “Simple connect”Simple connect, using promises
Section titled “Simple connect, using promises”const MongoDB = require('mongodb');
MongoDB.connect('mongodb://localhost:27017/databaseName') .then(function(database) { const collection = database.collection('collectionName'); return collection.insert({key: 'value'}); }) .then(function(result) { console.log(result); }); ```jsSyntax
Section titled “Syntax”- db.collection.insertOne(document, options(w, wtimeout, j, serializeFuntions, forceServerObjectId, bypassDocumentValidation), callback)
- db.collection.insertMany([documents], options(w, wtimeout, j, serializeFuntions, forceServerObjectId, bypassDocumentValidation), callback)
- db.collection.find(query)
- db.collection.updateOne(filter, update, options(upsert, w, wtimeout, j, bypassDocumentValidation), callback)
- db.collection.updateMany(filter, update, options(upsert, w, wtimeout, j), callback)
- db.collection.deleteOne(filter, options(upsert, w, wtimeout, j), callback)
- db.collection.deleteMany(filter, options(upsert, w, wtimeout, j), callback)
Parameters
Section titled “Parameters”|Parameter|Details |---|---|--- |document|A javascript object representing a document |documents|An array of documents |query|An object defining a search query |filter|An object defining a search query |callback|Function to be called when the operation is done |options|(optional) Optional settings (default: null) |w|(optional) The write concern |wtimeout|(optional) The write concern timeout. (default: null) |j|(optional) Specify a journal write concern (default: false) |upsert|(optional) Update operation (default: false) |multi|(optional) Update one/all documents (default: false) |serializeFunctions|(optional) Serialize functions on any object (default: false) |forceServerObjectId|(optional) Force server to assign _id values instead of driver (default: false) |bypassDocumentValidation|(optional) Allow driver to bypass schema validation in MongoDB 3.2 or higher (default: false)