我有一个奇怪的问题,我相信我只是忽视了某些东西或者没有正确理解Node module.exports机制。
我正在尝试创建一个包含我的PouchDB连接的数据库服务,而其他服务可能只需要数据库服务。出于性能原因,我还将远程数据库复制到本地数据库。
数据库服务看起来像这样。
database.service.js
var __remote = new PouchDB(config.connectionstring.datastore);
var __local = new PouchDB("pouch-local-database");
var __replicationHandle = __startReplication();
function __startReplication() {
return __local.sync(__remote, {
live: true,
retry: true
}).on('change', function (change) {
logger.info('Database Sync New Data');
}).on('paused', function (info) {
logger.info('Database Sync Paused');
}).on('active', function (info) {
logger.info('Database Sync Active');
}).on('error', function (err) {
logger.error('Database Sync Error', err);
});
}
function __resync(){
__replicationHandle.cancel();
__local.destroy()
.then(function(data){
__local = new PouchDB("pouch-local-database");
__replicationHandle = __startReplication();
})
.catch(function(err){
logger.error('Database Destroy Error', err);
});
}
module.exports = {
data : __local,
resync: __resync
};
我得到的两个问题是:
我考虑用以下内容替换module.exports:
module.exports = {
data : new PouchDB("pouch-local-database"),
resync: __resync
};
谢谢你们!我忽视了一些显而易见的事情!