Skip to content

Instantly share code, notes, and snippets.

@kube
Last active August 29, 2015 14:01
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 kube/e9e5f7d8858578674100 to your computer and use it in GitHub Desktop.
Save kube/e9e5f7d8858578674100 to your computer and use it in GitHub Desktop.
MongoAsyncMultiRequest Example
var asyncMultiRequest = require('./mongoAsyncMultiRequest.js');
var task = new asyncMultiRequest("mongodb://127.0.0.1:27017/test",
{
insertUser : function(db, next, variables) {
var user = {
firstName : variables.firstName,
lastName : variables.lastName
}
db.collection('users').insert(user, null, next);
},
insertTicket : {
dependencies : ['insertUser'],
task : function(db, next, variables, results) {
var ticket = {
author: results.insertUser[0]._id,
message: variables.message
};
db.collection('tickets').insert(ticket, null, next);
}
},
users : {
dependencies : ['insertUser'],
task : function(db, next, variables) {
db.collection('users').find().toArray(next);
}
},
tickets : {
dependencies : ['insertTicket', 'users'],
task : function(db, next, variables, results) {
console.log("`tickets` task is ran only when user `task` is done.");
console.log(results.users);
db.collection('tickets').find().toArray(next);
}
},
}, function(err, results) {
if (err) throw err;
});
task.run({
firstName : "John",
lastName : "Doe",
message : "Hello Everybody!" });
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment