#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 / разрешениями или что-то еще. Я бы взглянул на эти темы, чтобы продолжить: