我有一些远程虚拟机,我想在其中部署一些 Mongodb 实例,然后使它们可以远程访问,但由于某种原因,我似乎无法完成这项工作。
这些是我采取的步骤:
这是我用来尝试连接的命令:
$ mongo host:NodePort
Run Code Online (Sandbox Code Playgroud)
(“主机”是指 Kubernetes master)。
这是它的输出:
MongoDB shell version v4.0.3
connecting to: mongodb://host:NodePort/test
2018-10-24T21:43:41.462+0200 E QUERY [js] Error: couldn't connect to server host:NodePort, connection attempt failed: SocketException:
Error connecting to host:NodePort :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:257:13
@(connect):1:6
exception: connect failed
Run Code Online (Sandbox Code Playgroud)
从 Kubernetes master 处,我确保 Mongodb pod 正在运行。然后我在容器中运行 shell 并检查 Mongodb 服务器是否正常工作。此外,我之前通过在 yaml 描述中指定“--bind-ip=0.0.0.0”选项来授予对 Mongodb 服务器的远程访问权限。为了确保已应用此选项,我从同一个 shell 在 Mongodb 实例内运行此命令: …
我想打一个局部MongoDB数据库的转储(部分为,我需要过滤掉一些文件,有些领域)。然后,此转储将导入到另一台服务器上。
我不能使用mongodump实用程序,因为它不允许过滤字段。
我可以使用mongoexport实用程序,因为它允许过滤文档和字段。但是,文档指出mongoexport只能输出 JSON 文件并且:
不能可靠地保留所有丰富的 BSON 数据类型,因为 JSON 只能表示 BSON 支持的类型的一个子集。