在我们的项目中,当mongo不将其状态保存到磁盘时,我们经常会遇到问题,并且在重新启动应用程序后,我们会丢失数据。我无法确定何时以及为什么会发生这种情况-不知何故,何时:)。有人知道如何使用某些API将mongodb存储同步到磁盘吗?我们使用mongorito ODM。高兴听到任何变体。
一些细节。 Mongo版本3.2。 应用-这是电子应用。它在后台使用mongo作为存储-我们在客户端使用mongo并有利地将其安装为Windows服务。应用程序启动,进行不同的事务,从/向mondo db读取/写入数据-没什么奇怪的。当我们关闭该应用程序并下次重新打开时-我们无法在某些已成功保存(根据mongo答案)的集合中找到最后一行(文档)。我们没有错误。 任何人都可以解释什么是写关注点,以及如何设置它在刷新数据之前不等待60秒-可能是原因吗?
一些数据库连接/断开连接的代码。 app
表示电子应用:
const {Database} = require('mongorito');
const db = new Database(__DBPATH__);
db.connect();
db.register(__MONGORITO_MODEL__);
app.on('window-all-closed', () => {
db.disconnect();
});
答案 0 :(得分:0)
我将查看您应用程序中的写关注设置,并确保将其设置为您业务的要求-https://docs.mongodb.com/manual/reference/write-concern/
此外,请确保您在生产环境中运行副本集
答案 1 :(得分:0)
感谢每个男孩,我已经解决了这个问题。原因是日记。我打开了mongodb服务的日记功能,问题就消失了。
mongod.exe --journal