Skip to content

Instantly share code, notes, and snippets.

@xx7y7xx
Created August 8, 2016 08:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xx7y7xx/3bf8b88e7abee9d09131fd223f84799d to your computer and use it in GitHub Desktop.
Save xx7y7xx/3bf8b88e7abee9d09131fd223f84799d to your computer and use it in GitHub Desktop.
// http://mongodb.github.io/node-mongodb-native/2.0/getting-started/quick-tour/
var MongoClient = require('mongodb').MongoClient
, assert = require('assert');
// Connection URL
var url = 'mongodb://localhost:27017/myproject';
var insertDocuments = function(db, callback) {
// Get the documents collection
var collection = db.collection('documents');
// Insert some documents
collection.insertMany([
{a : 1}, {a : 2}, {a : 3}
], function(err, result) {
assert.equal(err, null);
assert.equal(3, result.result.n);
assert.equal(3, result.ops.length);
console.log("Inserted 3 documents into the collection");
callback(result);
});
}
var findDocuments = function(query, db, callback) {
// Get the documents collection
var collection = db.collection('documents');
// Find some documents
collection.find(query).toArray(function(err, docs) {
assert.equal(err, null);
console.log("Found the following records");
console.log(docs)
callback(docs);
});
}
var updateDocument = function(db, callback) {
// Get the documents collection
var collection = db.collection('documents');
// Update document where a is 2, set b equal to 1
collection.updateOne({ a : 2 }
, { $set: { b : 1 } }, function(err, result) {
assert.equal(err, null);
assert.equal(1, result.result.n);
console.log("Updated the document with the field a equal to 2");
callback(result);
});
}
var removeDocument = function(db, callback) {
// Get the documents collection
var collection = db.collection('documents');
// Insert some documents
collection.deleteOne({ a : 3 }, function(err, result) {
assert.equal(err, null);
assert.equal(1, result.result.n);
console.log("Removed the document with the field a equal to 3");
callback(result);
});
}
var indexCollection = function(db, callback) {
db.collection('documents').createIndex(
{ "a": 1 },
null,
function(err, results) {
console.log(results);
callback();
}
);
};
// Use connect method to connect to the server
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
console.log("Connected succesfully to server");
var indexCallback = function () {
db.close();
};
var removeCallback = function () {
indexCollection(db, indexCallback);
};
var updateCallback = function () {
removeDocument(db, removeCallback);
};
var find3Callback = function () {
updateDocument(db, updateCallback);
};
var findAllCallback = function () {
findDocuments({a : 3}, db, find3Callback);
};
var insertCallback = function () {
findDocuments({}, db, findAllCallback);
};
insertDocuments(db, insertCallback);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment