如何在远程服务器上使用mongoimport

15

我正在尝试创建一个简单的网站,根据一个相对较小的json数据(>5MB)显示表格。 我计划将json导入到MongoDB中,并使用驱动程序(无论是Mongoose还是PyMongo)执行查询。 由于数据量非常小,我想避免使用云服务,这样我只需要支付服务器成本。

我已经尝试通过在本地机器上使用mongoimport来熟悉它。 我成功地在本地导入了数据,但现在我想在远程服务器上这样做。

您会如何在远程服务器上执行此操作? 据我所知,必须在后台运行mongod以启动mongomongoimport。 如何在一个窗口中实现这一点? 是否有任何指南可以帮助您完成这种工作?

3个回答

15

由于您的数据规模较小,我建议使用MongoDB Atlas。创建一个集群并使用可以在您的集群中找到的URI进行mongoimport(连接->连接您的应用程序->仅连接字符串)。

要进行mongoimport操作,

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

你需要指定以下内容:1)URI 2)集合名称 3)本地文件位置。

当mongoimport工作后,你可以通过获取连接字符串(连接-->使用Mongo Shell连接-->仅连接字符串)来查询云数据。

mongo "connectionString" --username yourUsername

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

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


6

将本地 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指定包含要导入的数据的文件的位置和名称。


3
您可以直接使用官方的mongoimport命令,从shell中执行。

以下是一个完整的示例:

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接