Ошибка метеора — сохранение задач в коллекции

#mongodb #meteor #collections

#mongodb #метеор #Коллекции

Вопрос:

Я следую руководству по сайту meteor (https://www.meteor.com/tutorials/blaze/collections ).

Но когда вы добавляете строку:

экспорт постоянных задач = новый Монго.Коллекция (‘задачи’);

Я получаю следующую ошибку:

 /Users/user/.meteor/packages/meteor-tool/.1.4.1_2.fpzmec  os.osx.x86_64 web.browser web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:313
						throw(ex);
						^
MongoError: failed to connect to server [localhost:27017] on first connect
    at Object.Future.wait (/Users/user/.meteor/packages/meteor-tool/.1.4.1_2.fpzmec  os.osx.x86_64 web.browser web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:449:15)
    at new MongoConnection (packages/mongo/mongo_driver.js:216:27)
    at new MongoInternals.RemoteCollectionDriver (packages/mongo/remote_collection_driver.js:4:16)
    at Object.<anonymous> (packages/mongo/remote_collection_driver.js:38:10)
    at Object.defaultRemoteCollectionDriver (packages/underscore/underscore.js:750:1)
    at new Mongo.Collection (packages/mongo/collection.js:103:40)
    at meteorInstall.imports.api.tasks.js (imports/api/tasks.js:4:14)
    at fileEvaluate (packages/modules-runtime/.npm/package/node_modules/install/install.js:153:1)
    at Module.require (packages/modules-runtime/.npm/package/node_modules/install/install.js:82:1)
    at Module.Mp.import (/Users/user/.meteor/packages/modules/.0.7.6_1.j54juu  os web.browser web.cordova/npm/node_modules/reify/lib/runtime.js:70:16)
    - - - - -
    at [object Object].<anonymous> (/Users/user/.meteor/packages/npm-mongo/.1.5.50.1g0yl8n  os web.browser web.cordova/npm/node_modules/mongodb-core/lib/topologies/server.js:313:35)
    at emitOne (events.js:77:13)
    at [object Object].emit (events.js:169:7)
    at [object Object].<anonymous> (/Users/user/.meteor/packages/npm-mongo/.1.5.50.1g0yl8n  os web.browser web.cordova/npm/node_modules/mongodb-core/lib/connection/pool.js:260:12)
    at [object Object].g (events.js:260:16)
    at emitTwo (events.js:87:13)
    at [object Object].emit (events.js:172:7)
    at Socket.<anonymous> (/Users/user/.meteor/packages/npm-mongo/.1.5.50.1g0yl8n  os web.browser web.cordova/npm/node_modules/mongodb-core/lib/connection/connection.js:162:49)
    at Socket.g (events.js:260:16)
    at emitOne (events.js:77:13)
Exited with code: 1
Your application is crashing. Waiting for file change.  

Комментарии:

1. Какой порт вы используете? Я вижу 27017

Ответ №1:

Строка в руководстве:

 export const Tasks = new Mongo.Collection('tasks');
  

Отличается от вашей строки:

 Export Tasks const = new Mongo.Collection ('tasks');
  

Цель кода — инициализировать новую константу Tasks , установить для нее значение new Mongo.Collection , а затем экспортировать ее.

Комментарии:

1. Импортирован ли Mongo в файл?

2. Да, импортируйте { Mongo } из ‘meteor / mongo’;

3. Это немного странно. Что произойдет, если вы запустите meteor mongo из консоли? (Из того же каталога, что и ваше приложение meteor, во время его запуска)

4. mongo: Meteor не использует локальный сервер MongoDB. Эта команда работает только тогда, когда Meteor запускает ваше приложение локально. Сначала запустите свое приложение с помощью ‘meteor’, а затем запустите эту команду в новом терминале. Эта ошибка также возникнет, если при запуске приложения вы попросили Meteor использовать другой сервер MongoDB с $MONGO_URL . Если вы пытаетесь подключиться к базе данных приложения, которое вы развернули с помощью «meteor deploy», укажите имя вашего сайта в качестве аргумента для этой команды.

5. Хорошо, значит, он не подключается к Mongo. Это может быть проблема с sudo / разрешениями или что-то еще. Я бы взглянул на эти темы, чтобы продолжить: