如何在nodejs中使用来自不同模块的nedb api?

时间:2016-11-03 18:45:11

标签: node.js nedb

我已经在foo.js中初始化了一个数据库,并将一些数据保存到其中。

var Datastore = require('nedb');
var bar = require('./bar.js');

var db = new Datastore({filename: './foo.db', autoload: true});
// saving some data here
db.insert(doc, function (err, newDoc) {}

现在我正在尝试访问bar.js中的数据库

var Datastore = require('nedb');

var db = new Datastore({filename: './foo.db', autoload: true});

// finding data from same store
var bars = db.find({ system: 'solar' }, function (err, docs) {return docs}

现在我收到此错误:Uncaught Error: ENONET: no such file or directory, rename food.db -> foo.db~

据我所知,对于相同的文件名,我不能多次调用NeDB。

那么我如何访问db并在上面的不同模块上对它进行操作?

1 个答案:

答案 0 :(得分:1)

你可以创建文件让我们用下面的代码命名为db.js:

var Datastore = require('nedb'); 
module.exports = new Datastore({filename: './foo.db', autoload: true}); 

现在需要使用此文件的任何地方

var db = require('./db.js');

db.insert(....);