我试图通过使用回调再次重用MongoDB连接,但是,当我尝试调用我的回调时,我收到的undefined不是函数。
任何人都可以指出我可能出错的方向吗
BroadbandData.prototype.connectToMongoDB = function(callback, obj){
MongoClient.connect('mongodb://127.0.0.1:27017/UKBroadbandCoverageAndSpeed', function(err, db) {
this.mongoDB = db;
callback(db, obj);
});
}
BroadbandData.prototype.storeMongoRecord = function(db, obj){
console.log("Hello World")
}
/*
* persist
* @params Array (Object), String
* @returns null
*/
BroadbandData.prototype.persist = function(obj, source){
if(source == 'mongodb'){
this.connectToMongoDB(this.storeMongoRecord(), obj);
/*var collection = db.collection('data');
collection.insert(obj, function(err, docs) {
if(err) throw(err);
console.log("Inserted")
});
*/
}else if(source == 'object'){
this.broadbandDataJSON.push(obj);
}
}
答案 0 :(得分:2)
connectToMongoDB(this.storeMongoRecord(), ...
你只是调用函数,并将结果(undefined
)传递给connectToMongoDB
。 (就像任何其他函数调用一样)