如何在远程服务器中进行 mongoimport
Posted
技术标签:
【中文标题】如何在远程服务器中进行 mongoimport【英文标题】:How to mongoimport in a remote server 【发布时间】:2019-11-18 13:40:59 【问题描述】:我正在尝试创建一个基于相对较小的 json 数据 (>5MB) 显示表格的简单网站。我计划将 json 导入 MongoDB 并使用驱动程序(Mongoose 或 PyMongo)执行查询。由于数据量很小,我想避免使用云服务,只支付服务器费用。
我尝试通过在本地计算机上尝试熟悉mongoimport
。我在本地成功导入数据,但现在我想在远程服务器上执行此操作。
您将如何在远程服务器上执行此操作?据我了解,mongod
应该在后台运行以启动mongo
或mongoimport
。您如何通过一个窗口实现这一目标?是否有任何人认为对从事此类工作有帮助的指南?
【问题讨论】:
【参考方案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的主要内容,如果未能解决你的问题,请参考以下文章