function runWithDB(context, t, callback) {
  var mongodb = require('mongodb')
    , server  = new mongodb.Server(params.mongodb_host, params.mongodb_port, {auto_reconnect : true})
    , db      = mongodb.Db('integration', server, {safe : true})
    ;

  context.tearDown(function cb_tearDown() {
    db.close(true, function (error) {
      if (error) t.fail(error);
    });
  });

  // <3 CrabDude and creationix
  trycatch(
    function () {
      db.open(function cb_open(error, db) {
        if (error) { t.fail(error); return t.end(); }

        db.createCollection(COLLECTION, {safe : false}, function (error, collection) {
          if (error) { t.fail(error); return t.end(); }

          callback.call(context, collection);
        });
      });
    },
    function (error) {
      t.fail(error);
      t.end();
    }
  );
}
Exemplo n.º 2
0
		var pushJob2Redis = function(callback) {
			var client = Mongo.Db(_self.config.tasks_db, new Mongo.Server(GLOBAL_CONF.mongo.host, GLOBAL_CONF.mongo.port), {fsync:true});

			var prevCallback = function(err, data) {
				client.close();
				if(err) callback(err);
				else callback(null, data);
			};

			client.open(function(err) {
				if(err) prevCallback(err);
				else {
					client.collection(_self.config.tasks_coll, function(err, coll) {
						if(err) prevCallback(err);
						else {
							// arr = [
							// 	{
							// 		_id : 'Id of Data',
							// 		tasks : [
							// 			{
							// 				handler : 'name of handler',
							// 				urls : [url]
							// 			}
							// 		]
							// 	}
							// ]
							coll.find().limit(1).toArray(function(err, arr){
								if(err) prevCallback(err);
								else {
									if(arr.length > 0) {
										arr.forEach(function(job) {
											async.every(job.tasks, function(item, done) {
												_self.push(item);
												done();
											}, function(tasks) {
												coll.remove({'_id': job._id}, function(err, res) {
													if(err) prevCallback(err);
													else prevCallback(null, job);
												});
											});
										});
									} 
									else {
										// No Data in Mongo Database
										console.log('No Data in Mongo Database');
										prevCallback();
									}
								}
							});
						}
					});
				}
			});
		};
Exemplo n.º 3
0
		_self.save = function(data) {
			var client = mongo.Db(_self.conf.db, new mongo.Server(GLOBAL_CONF.mongo.host, GLOBAL_CONF.mongo.port), {fsync:true});
			client.open(function() {
				client.collection(_self.conf.coll, function(err, collection){
					collection.insert(data, function(err) {
						console.log(err);
						// ### How to Save, Every and Queue ###
						console.log('[DB: ' + _self.conf.db + '] insert, finish. ');
						client.close();
					});
				});
			});
		};		
Exemplo n.º 4
0
var fs= require("fs");
var mongodb= require("mongodb");
var jsonObj= JSON.parse(fs.readFileSync("../lanzhouPOI.json"));
console.log(jsonObj.features.length);
//连接mongodb,进行数据存储
var server= new mongodb.Server('127.0.0.1', 27017, {auto_reconnect:true});
//使用lanzhouPOI数据库
var db= mongodb.Db("lanzhouPOI", server, {safe: true});
db.open((error, db)=>{
    if(error) throw error;
    //创建空间表,将空间数据按这几个字段存储
    //displayFieldName, fieldAliases, geometryType, spatialReference, fields, features

    //displayFieldName 表创建及document插入
    db.createCollection('displayFieldName', {safe: true}, function(err, collection){
        if(err){
            throw err;
        }else {
            var temp= {"displayFieldName": jsonObj.displayFieldName};
            collection.insert(temp, {safe: true}, function(err, result){
                console.log(result);
            });
            temp= null;
        }
    });
    //fieldAliases 表创建及document插入
    db.createCollection('fieldAliases', {safe: true}, function(err, collection){
        if(err){
            throw err;
        }else {
            var temp= {"fieldAliases": jsonObj.fieldAliases};
Exemplo n.º 5
0
var express = require('express'),
    path = require('path'),
    fs = require('fs'),
    async = require('async'),
    mfParser = require('mediafragment'),
    Fragment = require('../controller/fragment'),
    config = require('../config.json'),
    Grid = require('gridfs-stream'),
    mongo = require('mongodb');

var db = mongo.Db('maffin', new mongo.Server(config.app_options.mongo_host, config.app_options.mongo_port, {}), {safe: true});
var gfs;

db.open(function (err) {
    if (err)return handleError(err);
    gfs = Grid(db, mongo);
});

var router = express.Router();
var videoDir = config.app_options.input_dir;

var DEBUG = config.debug;
mfParser.setVerbose(DEBUG);


router.get('/show/:filename', function (req, res, next) {
    var filename = req.params.filename;
    var queryString = req._parsedUrl.search || '';
    res.render("video", {src: filename + '.mp4' + queryString});
});
Exemplo n.º 6
0
var path    = require("path");
var config  = require(path.join(__dirname, "..", "..", "config", "application"));
var mongodb = require("mongodb");

var dbName = "foobar_" + config.environment;
var host   = config.mongodb.host || "127.0.0.1";
var port   = config.mongodb.port || 27017;
var server = new mongodb.Server(host, port, {});
var client =  mongodb.Db(dbName, server, { safe: true , strict: false });

module.exports = client;
Exemplo n.º 7
0
var mongo = require('mongodb'),
    host = "localhost",
    port = 27017,
    server = new mongo.Server(host, port, {auto_reconnect:true}),
    db =  mongo.Db('yimengweima',server,{safe:true});

module.exports = db;
 
 	

 
Exemplo n.º 8
0
var path      = require("path");
var mongodb   = require("mongodb");
var appConfig = require(path.join(__dirname, "app"));
var settings  = require(path.join(appConfig.root, "config", "settings"));

var dbName = "spotbox_" + appConfig.env;
var host   = settings.mongodb.host || "127.0.0.1";
var port   = settings.mongodb.port || 27017;
var server = new mongodb.Server(host, port, {});
var client =  mongodb.Db(dbName, server, {})

module.exports = client;
Exemplo n.º 9
0
router.post('/', function (req, res) {
    var mongodb = require('mongodb');
    var server = new mongodb.Server('localhost', 27017);
    var db = mongodb.Db('projectManage', server, {safe: true});

    db.open(function (err, db) {
        if (err){
            throw err
        }else {
            var modify = req.body;
            modify['_id'] = ObjectId(modify['_id']);
            modify['key'] = modify['project'] +'-'+ modify['key'];
            var col_demands = db.collection('demands');
            console.log(modify['_id']);

            col_demands.findOne({_id: modify['_id']}, function (err, doc) {
                if (err){
                    throw err
                }else {
                    console.log('doc:'+doc);
                    console.log('modify:'+modify);

                    if (doc.key != modify.key){
                        col_demands.find({key: modify.key}).toArray(function (err, docs) {
                            if (err){
                                throw err
                            }else {
                                if (docs.length != 0){
                                    console.log('Demand already exist!');
                                    modify['message1'] = 'このキーはもう存在しています、';
                                    modify['message2'] = '詳しい内容を一覧ページに戻って、検索してください';
                                    res.render('modify', {msg: modify})
                                }else {
                                    col_demands.update(
                                        {_id: modify['_id']},
                                        {$set: modify},
                                        {
                                            upsert: true
                                        },
                                        function (err, doc) {
                                            if (err){
                                                throw err
                                            }else {
                                                res.redirect('/view')
                                            }
                                        }
                                    )
                                }
                            }
                        })
                    }else {
                        col_demands.update(
                            {_id: modify['_id']},
                            {$set: modify},
                            {
                                upsert: true
                            },
                            function (err, doc) {
                                if (err){
                                    throw err
                                }else {
                                    res.redirect('/view')
                                }
                            }
                        )
                    }
                }
            })
        }
    })
});
Exemplo n.º 10
0
router.get('/', function (req, res) {
    var mongodb = require('mongodb');
    var server = new mongodb.Server('localhost', 27017);
    var db = mongodb.Db('projectManage', server, {safe: true});

    db.open(function (err, db) {
        if (err){
            throw err
        }else {
            var search = req.query;
            var col_demands = db.collection('demands');

            if (search['project'] && search['code']){
                
                var result = "";

                var key = search['project'] +"-"+ search['code'];

                col_demands.find({'key': key}).toArray(function (err, doc) {
                    if (err){
                        throw err
                    }else {
                        console.log(doc);
                        if (doc.length == 0){
                            result = true;
                        }else {
                            result = false;
                        }
                        res.send(result)
                    }
                })
            }else {
                for (var k in search){
                    if (search[k] == ""){
                        delete search[k]
                    }
                }
                
                var summation = 0;

                col_demands.find({}).toArray(function (err, item) {
                    if (err){
                        throw err
                    }else {
                        item.forEach(function () {
                            summation += 1
                        })
                    }
                });

                if (search.search){
                    delete search.search;
                    var search_info = search;
                    var str = "";

                    if (search['project'] && search['code']){
                        search['key'] = search['project'] +'-'+ search['code'];
                        str = search.code;
                        delete search.code;

                        console.log(search);

                        col_demands.find(search).toArray(function (err, doc) {
                            if (err){
                                throw err
                            }else {
                                search_info['code'] = str;
                                res.render('view', {list: doc, search_info: search_info, summation: summation})
                            }
                        })
                    }else if (!search['project'] && search['code']){

                        console.log(search);

                        str = search.code;

                        delete search.code;


                        col_demands.find({$and: [{key: {$regex: str}}, search]}).toArray(function (err, doc) {
                            if (err){
                                throw err
                            }else {
                                search_info['code'] = str;

                                res.render('view', {list: doc, search_info: search_info, summation: summation})
                            }
                        })
                    }else {

                        console.log(search);

                        col_demands.find(search).toArray(function (err, doc) {
                            if (err){
                                throw err
                            }else {
                                res.render('view', {list: doc, search_info: search_info, summation: summation})
                            }
                        })
                    }

                }else if (search.condition && search.value){

                    var condition = search.condition;
                    var value = search.value;

                    var search_data = {};
                    search_data[condition] = value;


                    col_demands.find(search_data).toArray(function (err, doc) {
                        if (err){
                            throw err
                        }else {
                            if (doc.length == 0){
                                res.render('view', {summation: summation})
                            }else {
                                res.render('view', {list: doc, summation: summation})
                            }
                        }
                    })
                }else if (search.view_key){
                    col_demands.findOne({key: search.view_key}, function (err, doc) {
                        if (err){
                            throw err
                        }else{
                            console.log(doc);
                            res.render('modify', {info: doc})
                        }
                    })
                }else if (search.del_key){
                    col_demands.remove({'key': search.del_key}, function (err, doc) {
                        if (err){
                            throw err
                        }else {
                            res.redirect('/view')
                        }
                    })
                }else {
                    col_demands.find({}).toArray(function (err, doc) {
                        if (err){
                            throw err
                        }else {
                            if (doc.length == 0){
                                res.render('view')
                            }else {
                                res.render('view', {list: doc, summation: summation})
                            }
                        }
                    })
                }
            }
        }
    })
});
Exemplo n.º 11
0
// };

// var data = {tasks : [{
// 	urls : ['http://list.jd.com/6196-6197-6199-0-0-0-0-0-0-0-1-1-49-1.html'],
// 	handler : 'jingdong'
// }]
// };

// var data = {tasks : [{
// 	urls : ['http://www.baidu.com', 'http://www.google.com.hk'],
// 	handler : 'jingdong'
// }, {
// 	urls : ['http://www.tmall.com', 'http://www.jd.com'],
// 	handler : 'jingdong'
// }]
// };

var client = mongo.Db('tasks', new mongo.Server('127.0.0.1', '27017'), {fsync:true});
			client.open(function() {
				client.collection('tasks', function(err, collection){
					for( var i = 0 ; i < 1; i++ ){
										collection.insert(data, function(err) {
											// ### How to Save, Every and Queue ###
											console.log('insert, finish');
											client.close();
										});
					}
				});
			});

// 
//      Special thanks to Sasha Savelyev for developing the initial Twitter
//      scraper tutorial that served as the basis for this demo.
// ----------------------------------------------------------------------------

// ---- Module Imports ----

var http = require('https');            // Secure HTTP
var fs = require('fs');                 // File system 
var oAuth = require('oauth').OAuth;     // OAuth 
var mongo = require('mongodb');         // MongoDB Driver

// ---- Connection to MongoDB Server and Database ----

var mdbServer = mongo.Server('localhost', 27017, {'auto_reconnect' : true});
var mdb = mongo.Db('streaming_db', mdbServer);

// ---- Connecting Database and Streaming API ----

mdb.open(function (err, db) {

    // Attempt to open a connection to database, log message if the connection 
    // has been established.

    if (!err) { console.log('Connected to streaming_db@localhost:27017'); }

    // Create and connect to collection in the database. If a collection with
    // that name already exists it will be returned, as-is, to the callback
    // function for further updates/inserts/removals.

    db.createCollection('tweets', function (err, collection) {
Exemplo n.º 13
0
app.configure(function () {
  var db = mongo.Db('test', mongo.Server('localhost', 27017, {}), {});
  db.open(function () {});
  app.set('db', db);
});
Exemplo n.º 14
0
var mongodb = require('mongodb');
var _ = require('underscore');

var db = mongodb.Db('school', new mongodb.Server('localhost', 27017), {safe: true});

db.open(function(err, client) {
	if(err) {
		console.log('Error opening connection' + err);
	}
	var collection = new mongodb.Collection(client, 'students');
	collection.find({"scores.type": "homework"}).toArray(function(err, results) {
		if (err) {
			console.log(err);
		}
		var removed = 0;
		_.each(results, function(student) {
			var lowest = {
				index: null,
				score: null
			};
			_.each(student.scores, function(score, index) {
				if (score.type === 'homework') {
					if (lowest.score === null || lowest.score > score.score) {
						lowest.score = score.score;
						lowest.index = index;
					}
				}
			});
			student.scores.splice(lowest.index, 1);
			console.log({"_id": student._id});
			console.log(student);
Exemplo n.º 15
0
      level: (config.debug.enabled ? 'debug' : 'warn')
    }),
    new (winston.transports.Console)({
      name: 'is-console',
      handleExceptions: true,
      level: (config.debug.enabled ? 'debug' : 'warn')
    })
  ],
  exitOnError: true
});

// MongoDB access instance.
var db = mongo.Db(config.imagestream.mongo.db_name,
  new mongo.Server(
    config.imagestream.mongo.host,
    config.imagestream.mongo.port, {auto_reconnect: true}
  ),
  {}
);

// Bit.ly API client.
var bitly = new Bitly(config.bitly.legacy.login, config.bitly.legacy.api_key);

// Twitter API client.
var twitter = new Twit({
  consumer_key: config.twitter.consumer_key,
  consumer_secret: config.twitter.consumer_secret,
  access_token: config.twitter.access_token,
  access_token_secret: config.twitter.access_token_secret
});