我正在使用一个只有一个节点的 MongoDB 实例。我想编写一个 Web 服务,对数据文件进行 fsync 并将它们压缩到备份文件夹中。
理想情况下,我会以编程方式获取数据目录的位置(而不是读取配置文件),这样我就可以轻松地将其从开发机器移植到安装路径不同的生产机器上。有没有办法使用 Java 驱动程序来做到这一点?
我正在使用一个只有一个节点的 MongoDB 实例。我想编写一个 Web 服务,对数据文件进行 fsync 并将它们压缩到备份文件夹中。
理想情况下,我会以编程方式获取数据目录的位置(而不是读取配置文件),这样我就可以轻松地将其从开发机器移植到安装路径不同的生产机器上。有没有办法使用 Java 驱动程序来做到这一点?
尝试使用此处概述的 use admin db.runCommand({getCmdLineOpts: 1}) ,然后使用返回的数据。
示例返回数据是
{
"argv" : [
"mongod",
"--port",
"6669",
"--dbpath=c:\\data\\mongo2",
"--rest"
],
"parsed" : {
"dbpath" : "c:\\data\\mongo2",
"port" : 6669,
"rest" : true
},
"ok" : 1
}
您可以使用mongoexport获取数据;从生产机器运行它并指定开发机器的主机/端口/集合。可以使用mongoimport将数据导入生产机器。