Как монгоимпортировать на удаленный сервер - PullRequest
3 голосов
/ 09 июля 2019

Я пытаюсь создать простой веб-сайт, который отображает таблицу на основе сравнительно небольших данных JSON (> 5 МБ). Я планирую импортировать json в MongoDB и выполнять запросы с использованием драйвера (Mongoose или PyMongo). Поскольку размер данных очень мал, я бы хотел избежать использования облачной службы, чтобы я оплачивал только расходы на сервер.

Я попытался ознакомиться с mongoimport, попробовав это на моей локальной машине. Мне удалось импортировать данные локально, но теперь я хотел бы сделать это на удаленном сервере.

Как бы вы сделали это на удаленном сервере? Как я понимаю, «mongod» должен работать в фоновом режиме, чтобы начать «mongo» или «mongoimport». Как вы достигаете этого с одним окном? Есть ли какое-нибудь руководство, которое кто-то из вас нашел полезным в выполнении этой работы? Спасибо!

Ответы [ 2 ]

2 голосов
/ 09 июля 2019

Чтобы импортировать файл 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 голос
/ 20 июля 2019

Поскольку у вас небольшой размер данных, я бы рекомендовал использовать MongoDB Atlas .Создайте кластер и mongoimport, используя URI, который можно найти в вашем кластере (Connect -> Connect Your Application -> Connection String Only).

К mongoimport,

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

гдевам необходимо указать: 1) "URI" 2) collectionName 3) localFileLocation.

Как только mongoimport заработает, вы можете запросить данные облака через оболочку Mongo после получения строки подключения (Connect -> Connect with theMongo Shell -> Connection String Only)

mongo "connectionString" --username yourUsername

, где вам нужно указать: 1) "connectionString" 2) yourUsername.

Теперь введите свой пароль, связанный с кластером, который выПосле этого вы должны быть подключены и готовы запрашивать данные, хранящиеся в Mongo Atlas, из командной строки.

...