使用以下方式加载文件 mongoimport
您可以使用 mongoimport
将数据从JSON
或CSV
文件导入 MongoDB Atlas 集群。
考虑因素
mongoimport
对某些 BSON 类型使用严格模式表示。
步骤
以下教程使用mongoimport
将数据从JSON
文件加载到 Atlas 集群:
在目标 Atlas 集群中设置数据库用户。
要运行mongoimport
以写入 Atlas 集群,您必须指定对要导入数据的数据库具有读写特权的数据库用户。例如,具有Atlas admin
角色的用户提供这些权限。
如果不存在该用户,则创建该用户:
在左侧导航栏的 Security 部分,单击 Database Access。此时将显示 标签页。
单击 Add New Database User(添加新的数据库用户)。
添加 Atlas admin 用户。
更新 IP 访问列表。
如果您将运行mongoimport
的主机不在IP 访问列表中,请更新该列表。您可以指定以下任一项:
将运行
mongoimport
的服务器的公共 IP 地址,或者如果已为 VPC 对等互连进行设置,则为对等方的 VPC CIDR 区块(或子网)或对等方 VPC 的安全组(如果将 AWS 选作云提供商)。
复制目标集群URI / 主机信息。
您可以使用连接字符串 URI连接到 Atlas 集群。在连接对话框中执行以下步骤:
单击 Drivers(连接)。
复制在第 1 步中找到的连接字符串。
将 PASSWORD 替换为 root 用户的密码,并将 DATABASE 替换为您要连接的数据库的名称。
重要
您必须对所提供的
<PASSWORD>
中的@
字符的任何实例进行转义。例如,p@ssword
应为p%40ssword
。
此连接字符串在--uri
选项中指定为mongoimport
。
使用 --host
时,如果 Atlas 集群是副本集,您还必须检索副本集名称。例如:
myAtlasRS/atlas-host1:27017,atlas-host2:27017,atlas-host3:27017
运行 mongoimport。
以下示例会将文件 /somedir/myFileToImport.json
中的数据导入 testdb
数据库中的集合 myData
。此操作包括 --drop
选项,它可在集合存在时先删除该集合。
使用 --uri
:
mongoimport --uri "mongodb://root:<PASSWORD>@atlas-host1:27017,atlas-host2:27017,atlas-host3:27017/<DATABASE>?ssl=true&replicaSet=myAtlasRS&authSource=admin" --collection myData --drop --file /somedir/myFileToImport.json
使用 --host
:
mongoimport --host myAtlasRS/atlas-host1:27017,atlas-host2:27017,atlas-host3:27017 --ssl -u myAtlasAdminUser -p 'myAtlasPassword' --authenticationDatabase admin --db testdb --collection myData --drop --file /somedir/myFileToImport.json
根据您的部署添加/编辑mongoimport
命令行选项。有关更多 选项,请参阅mongoimport
mongoimport
。
更多信息
有关mongoimport
的详细信息,包括行为、选项和示例,请参阅mongoimport reference page
。