/ / як використовувати mongoimport зі своєю базою даних метеорних додатків? - mongodb, метеор

як використовувати mongoimport зі своєю базою даних метеорних додатків? - mongodb, метеор

Я можу використовувати mongoimport імпортувати дані CSV в неметеорну базу даних mongodb, але я не можу зрозуміти, як імпортувати CSV у свою базу даних програм метеора.

Я дізнався, як запустити оболонку mongo для мого додатка meteor (meteor mongo) але я не можу бігати mongoimport з оболонки.

Документи mongodb для mongoimport каже

У цьому прикладі монгоімпорт імпортує CSVвідформатовані дані в /opt/backups/contacts.csv до контактів колекції в базі даних користувачів в екземплярі MongoDB, що працює на порту localhost, що має номер 27017.

mongoimport - користувачі DB - колекції контактів - тип csv - файл /opt/backups/contacts.csv

Але коли я біжу mongod, запустити мій додаток і запустити mongoimport це імпорт до мого test базу даних, а не мою базу даних додатків.

Я читав цей коментар до публікації stackoverflow:

Використовуйте mongoexport для скидання колекційокремо, потім mongoimport імпортувати файли в db з назвою meteor в екземплярі meteor mongodb. Екземпляр монго метеора працює на порту 3002 з bind_address 127.0.0.1, а файли даних знаходяться у підкаталозі проекту meteor .meteor / local / db

Але я не розумію, як підключитися до цього примірника або як націлити його на mongoimport команда

Відповіді:

23 за відповідь № 1

Схоже, я щойно відповів на ваш коментар Рахульс чудова відповідь. У будь-якому випадку завантажте mongodb з mongodb.org для вашої ОС (або менеджера пакунків, як, наприклад, macports) та використовуйте інструмент, який надається у папці bin. mongoimport не команда в оболонці mongo, це виконуваний файл, який працює окремо.

Також не забудьте поставити порт (зазвичай 3001 якщо ви запускаєте свій екземпляр метеора в 3000), також db зазвичай метеор & ні користувачів коли ти запустиш його

mongoimport -h localhost:3001 --db meteor --collection contacts --type csv --file /opt/backups/contacts.csv

8 для відповіді № 2

ПРИМІТКА. Вищеописаний метод НЕ працював на порту 3002 для мене, але він DID працює на порту 3001.

Щоб імпортувати зовнішній файл TSV у db метеора, язапустив додаток метеора, що потребує даних TSV. Це також запускає послугу meteor mongodb (в моєму випадку на хості: localhost: 3001), потім я відкрив термінал в OSX і через термінал, перейшов до папки бін пакета mongodb, яку я завантажив раніше для отримання бінарної, "mongoimport". Опинившись у папці bin пакета mongodb, тоді в командному рядку я набрав наступне (деякі параметри комутатора будуть різними ... але --host, --localhost та --db switch / значення повинні бути такими, як показано):

$  ./mongoimport --host localhost:3001 --db meteor --collection datarefs --type tsv --drop --headerline --file /PathToFile/DataRefs.tsv

Після натискання клавіші enter, монгоімпорт відлуння "dуспішний імпорт в терміналі. Як тільки це було зроблено, я міг перейти до програми meteor через термінал і запустити meteor mongo: $ meteor mongo .... і побачити імпортовану колекцію "datarefs" у метеорологічному режимі для цього додатка.

$  meteor mongo
...
...
meteor:PRIMARY> show collections
datarefs
system.indexes
meteor:PRIMARY>

4 для відповіді № 3

Спочатку створіть колекцію в такому додатку метеора

Students = new Meteor.Collection("students");

Потім додайте деяке фіктивне значення, щоб переконатися, що метеор ініціалізував збір

Students.insert({"name":"first"}); Наприклад, у деяких подіях клацання. Для перевірки використовуйте це

meteor:PRIMARY> show collections students system.indexes

Потім імпортуйте. mongoimport -h localhost:3001 -d meteor -c students < students.json Метеор якось не впізнає нових імпортнихколекції вам потрібно видалити всі, додайте значення манекена, потім знову імпортуйте або створіть нове і ініціалізуйте його з манекеном, а потім імпортуйте.

Дякую Акшату та Тому Кайлеру


0 для відповіді № 4

Невеликий сценарій (шаблон) для запуску mongoimport на xxx.meteor.com


#!/ бін / ш  # Сценарій для імпорту csvfile в метеорний додаток, розгорнутий для безкоштовного хостингу meteor.com. # Переконайтесь, що ваші версії монго відповідають версій mongo.com. # На січень 2016 року здається, що це 3.x щось. Перевірено з монгоімпорт 3.12.  якщо [$ # -ек. 0] потім echo "використання: $ 0 xxx.meteor.com колекція filename.csv" вихід 1 фі  URL = $ 1 КОЛЕКЦІЯ = $ 2 ФАЙЛ = 3 $  echo Підключення до $ URL, будьте готові до .... collection = $ COLLECTION file = $ FILE  PUPMS = `meteor mongo --url $ URL | sed "s / mongodb: /// -u /" | sed "s /: / -p /" | sed "s / @ / -h /" | sed "s /// -d /" `    mongoimport -v $ PUPMS --тип csv --headerline --колекція $ COLLECTION --файл $ FILE


0 для відповіді № 5

Тепер я користуюсь Монгочеф для переміщення даних між базами даних. Це дуже просто - ви просто підключаєтесь до кожної бази даних (як правило, локальної та віддаленої db), тоді ви можете копіювати та вставляти документи в колекції. Набагато простіше, ніж підхід командного рядка.