尽管已完美记录了一切,但NeDB仍未存储到文件

时间:2020-01-23 19:08:16

标签: node.js nedb

我正在做一个小项目,很有趣,并且想第一次尝试独自使用数据库,所以我选择了NeDB。

在尝试时,我在Node上运行它并在Postman中调用路由。 只是为了进行测试,我将插入放入了get命令中,正如我所说的那样,它会将正确的对象记录到我的终端上,但是没有任何东西最终出现在我想要保存它的实际文件中。

值得一提的是,当我需要文件路径时,它会自动查找文件夹,而不是文件,尽管它在那里并且如果我不明确地告诉要求它的“ /test.db”则会抛出错误“。

非常感谢您的帮助!

let testpath = require('../data-storage/db/test.db')
const Datastore = require('nedb'); 
let db = new Datastore({filename: testpath});
let doc = { name: 'Boo' }

server.use(express.json());

server.get('/test', (req, res) => {

  db.insert(doc,  (err, newDoc) => {

    if (err){console.log(err)}
    if (newDoc){console.log(newDoc)}

    console.log(newDoc.name)
  })
  res.send("Hello there")
})

注意:我发现了有关电子应用发生时间的很多问题,但事实并非如此。到目前为止,它只是一台服务器,仅此而已。

1 个答案:

答案 0 :(得分:1)

睡了一夜后,我意识到出了什么问题:

let testpath = require('../data-storage/db/test.db')

关键不是要文件,而是文件路径(字符串)。较早前,当我不使用require时就收到了错误消息,但这一定是我误会了。

因此,只需更改以下代码段即可:

let testpath = '../data-storage/db/test.db'