这是代码;任何指针我哪里错了? 这是我使用承诺的方式吗?我希望每次执行保存之前调用insert()都会检查是否存在有效的db conn ...
没有错误,但数据库中没有条目。
此外,控制台日志'连接'显示一次,如预期的那样 - 第二个插入重用连接(或我期望它)......
// mongoApi.js
var assert = require('assert');
var promise = require('bluebird');
var mongoClient = promise.promisifyAll(require('mongodb').MongoClient);
var log = require('./logger.js');
var url = 'mongodb://localhost/yangDB';
var dbconn = false;
var getDb = function () {
if (!this.dbconn) {
console.log('connecting...')
this.dbconn = mongoClient.connectAsync(url);
}
return this.dbconn;
};
var insert = function (doc) {
getDb().then(function (db) {
db.collection('yangTemplates').save(doc);
});
};
insert( { "first insert" : new Date() } );
insert({ "second insert" : new Date() } );
// eventually: module.exports.insert = insert;
// main.js: var mapi = require('./mongoApi.js'); mapi.insert({a:true});