如何确保NeDB中的默认数据?

我试图使用NeDB作为我的数据在node-webkit应用程序中的存储。 我有名为config.db的单个集合:

 var Datastore = require('nedb') , path = require('path') , db = new Datastore({ filename: path.join(require('nw.gui').App.dataPath, 'config.db') }); 

当用户首次打开node-webkit应用程序时,我的config.db应该有如下默认数据:

 { color: "red", font: 'bold' ... } 

如果还没有,NeDB是否有提供默认数据的选项? 或者,如果config.db为空(如果用户首次打开node-webkit应用程序),保存它的最佳方法是什么?

据我所知,NeDB没有创build初始数据的选项。

我认为最简单的方法就是简单地查询是否有数据。 如果计数文件返回0 ,显然最初的数据还没有保存,所以你现在应该这样做。

如果在应用程序的启动代码中包含此检查,它将在第一次运行时自动初始化数据,之后不做任何事情。

我遇到这个问题,同时寻找类似的解决scheme。 我想我会分享我最后(这是一个模块):

 var fs = require("fs"); module.exports = function (app) { var customizationService = app.service("customization"); fs.readFile("./db/customization", "utf8", function (err, data) { if (err) { return console.log(err); } if (data) { // Sweet, carry on } else { var customOptions = { SiteTitle: "VendoMarket", SiteTagline: "The freshest eCommerce platform around" }; // Save data to the locations service customizationService.create(customOptions); } }); }; 

然后在我的app.js文件中:

 //-------------------------------------- // Initialize //-------------------------------------- var vendoInit = require("./src/init"); vendoInit(app); 

(我的app.js文件在我的项目的基础上, src是它旁边的文件夹)