如何在远程服务器中mongoimport

时间:2019-07-09 03:54:08

标签: json mongodb remote-server mongoimport

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

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

您将如何在远程服务器上执行此操作?据我了解,“ mongod”应该在后台运行以启动“ mongo”或“ mongoimport”。一个窗口如何实现?是否有任何指南对您从事此类工作有所帮助?谢谢!

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

对于mongoimport,

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

您需要指定的位置:1)“ URI” 2)collectionName 3)localFileLocation。

一旦mongoimport起作用,您就可以在获取连接字符串(连接->与Mongo Shell连接->仅连接字符串)之后通过Mongo Shell查询云数据

mongo "connectionString" --username yourUsername

您需要指定的位置:1)“ connectionString” 2)yourUsername。

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

答案 2 :(得分:0)

您可以从外壳直接使用官方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