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

How to use nedb api from different modules in nodejs?

我已经在 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.js,代码如下:

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

现在无论您想在何处使用此文件都需要它

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

db.insert(....);