我正在做一个小项目,很有趣,并且想第一次尝试独自使用数据库,所以我选择了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")
})
注意:我发现了有关电子应用发生时间的很多问题,但事实并非如此。到目前为止,它只是一台服务器,仅此而已。
答案 0 :(得分:1)
睡了一夜后,我意识到出了什么问题:
let testpath = require('../data-storage/db/test.db')
关键不是要文件,而是文件路径(字符串)。较早前,当我不使用require时就收到了错误消息,但这一定是我误会了。
因此,只需更改以下代码段即可:
let testpath = '../data-storage/db/test.db'