我正在尝试创建一个简单的网站,该网站基于相对较小的json数据(> 5MB)显示一个表。我计划将json导入MongoDB并使用驱动程序(Mongoose或PyMongo)执行查询。由于数据量很小,我想避免使用云服务,这样我就只为服务器费用付费。
我尝试通过在本地计算机上尝试使用mongoimport使其熟悉。我已成功地在本地导入数据,但现在我想在远程服务器上进行此操作。
您将如何在远程服务器上执行此操作?据我了解,“ mongod”应该在后台运行以启动“ mongo”或“ mongoimport”。一个窗口如何实现?是否有任何指南对您从事此类工作有所帮助?谢谢!
答案 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