Метеор - Meteor.Collection.get не определен в производстве - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь использовать Meteor.Collection.get(collection_name) (только на стороне сервера) в производстве, он хорошо работает в разработке;но как только я пытаюсь создать свое приложение с meteor --production, meteor throw

TypeError: Meteor.Collection.get не является функцией

Я полагаю, что Meteor.Collection.get был сделан только для целей отладки (я ничего не могу найти в официальной документации).Любая идея, как я могу использовать его в производстве?

1 Ответ

0 голосов
/ 12 февраля 2019

Я не уверен, откуда в вашем коде взято Meteor.Collection.get, но я знаю очень надежное и долговременное доказательство битвы dburles:mongo-collection-instances, которое позволяет вам получить коллекцию Mongo.Collection по ее имени.

Добавить пакет:

meteor add dburles:mongo-collection-instances

Создать коллекцию:

// server/client
export const MyDocs = new Mongo.Collection('myDocs')

Получить коллекцию:

// anywhere else
const MyDocs = Mongo.Collection.get('myDocs')

Работает на сервере и клиенте и работает нормальнов производстве.

Документация: https://github.com/dburles/mongo-collection-instances

Редактировать: примечание к --production

Этот флаг используется только для имитации минификации продукции.Смотрите важное сообщение здесь в документации: https://guide.meteor.com/deployment.html#never-use-production-flag

Вы всегда должны использовать meteor build для создания приложения производственного узла.Больше читать здесь: https://guide.meteor.com/deployment.html#custom-deployment

...