我在我正在开发的本地wep-app中使用名为'mydb'的mongodb数据库,并希望通过Dropbox同步db文件,因此我将在所有开发机器上使用它。
每当我在数据库中插入一些新数据时,文件'mydb.0'和'mydb.ns'似乎都没有改变。因此Dropbox不会同步任何内容。这里有什么想法吗?
我知道这可能听起来像一个可怕的想法,但我是唯一的数据库用户,我从不在一台机器上运行数据库。此外,我不与其他任何人共享文件。只是要注意我可以在我离开的地方继续使用另一台机器。
答案 0 :(得分:4)
不幸的是,这听起来像是一个可怕的想法。如果Mongo同时在两台机器上运行怎么办?最有可能两个数据库都已损坏。更好的方法是编写一个脚本,使用mongodump和mongorestore将数据库转储到Dropbox并从转储中恢复它。您必须手动运行这些。
您没有看到对数据库文件进行任何更改的原因可能是因为Mongo预先分配了其数据库文件,因此它们的大小永远不会改变,只是内部的内容。可能是Dropbox没有发现这一点。 Mongo也不会立即写入磁盘。相反,它使用可能在以后刷新的内存映射文件(它应该是几秒钟,但它应该不是原因)。