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

How to mongoimport in a remote server

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

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

你会如何在远程服务器上执行此操作?据我了解,mongod 应该在后台 运行 启动 mongomongoimport。你如何用一个 window 实现这一目标?是否有任何人认为对完成此类工作有帮助的指南?

要将 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 指定主机名(在您的情况下,它是远程服务器的地址)默认情况下是本地主机。

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

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

由于您的数据量很小,我建议使用 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) 您的用户名。

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

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