如何在远程服务器中进行 mongoimport

Posted

技术标签:

【中文标题】如何在远程服务器中进行 mongoimport【英文标题】:How to mongoimport in a remote server 【发布时间】:2019-11-18 13:40:59 【问题描述】:

我正在尝试创建一个基于相对较小的 json 数据 (>5MB) 显示表格的简单网站。我计划将 json 导入 MongoDB 并使用驱动程序(Mongoose 或 PyMongo)执行查询。由于数据量很小,我想避免使用云服务,只支付服务器费用。

我尝试通过在本地计算机上尝试熟悉mongoimport。我在本地成功导入数据,但现在我想在远程服务器上执行此操作。

您将如何在远程服务器上执行此操作?据我了解,mongod 应该在后台运行以启动mongomongoimport。您如何通过一个窗口实现这一目标?是否有任何人认为对从事此类工作有帮助的指南?

【问题讨论】:

【参考方案1】:

要将 csv 文件从本地计算机导入远程服务器:

mongoimport --host "hostname" --port "port" --db "databasename" --collection "collectionName" --file "filePath" --type csv --headerline

用于导入 json 文件

mongoimport --host "hostname" --port "port" --db "databasename" --collection "collectionName" --file "filePath"

--host 指定主机名(在您的情况下是远程服务器的地址),默认为 localhost。

--port 指定远程服务器中运行 mongo 服务器的端口,默认为 27017。

--file 指定包含要导入的数据的文件的位置和名称。

【讨论】:

【参考方案2】:

由于您的数据量很小,我建议使用MongoDB Atlas。使用可以在集群中找到的 URI 创建集群和 mongoimport(连接 --> 连接您的应用程序 --> 仅连接字符串)。

到mongoimport,

mongoimport --uri "URI" --drop --collection collectionName --file localFileLocation

您需要在哪里指定:1)“URI”2)collectionName 3)localFileLocation。

一旦 mongoimport 工作,您可以在获取连接字符串后通过 Mongo shell 查询云数据(Connect --> Connect with the Mongo Shell --> Connection String Only)

mongo "connectionString" --username yourUsername

您需要在哪里指定:1)“connectionString”2)您的用户名。

现在,输入与您创建的集群关联的密码,然后您应该已连接并准备好从命令行查询 Mongo Atlas 中保存的数据。

【讨论】:

【参考方案3】:

您可以直接在 shell 中使用官方的mongoimport 命令。

下面是一个完整的例子:

mongoimport -h localhost:27018 -d developer-database -c developer-collection -u root -p root --authenticationDatabase admin --file data-local.json

如果您的 json 包含 数组,您可以添加选项 --jsonArray

如果您的文件不是 json 而是 csv,您可以添加选项 --type csv

更多信息:https://docs.mongodb.com/manual/reference/program/mongoimport/#bin.mongoimport

【讨论】:

以上是关于如何在远程服务器中进行 mongoimport的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Node.js 中进行远程 REST 调用?任何卷曲?

如何配置TightVNC进行远程访问

如何远程备份MySQL binlog

如何使用 Idea 远程调试 Java 代码

电脑连接不上服务器远程桌面,如何解决?

了解关于SSH远程连接服务