流星 - Meteor.Collection.get 未在生产中定义

Meteor - Meteor.Collection.get not defined in production

我正在尝试在生产中使用 Meteor.Collection.get(collection_name)(仅限服务器端),它在开发中运行良好;但是当我尝试使用 meteor --production 构建我的应用程序时,流星投掷

TypeError: Meteor.Collection.get is not a function

我想 Meteor.Collection.get 只是为了调试目的而制作的(我在官方文档中找不到任何相关信息)。知道如何在生产中使用它吗?

我不确定 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

的注释

此标志仅用于模拟生产 minifaction。请参阅文档中的重要消息:https://guide.meteor.com/deployment.html#never-use-production-flag

您应该始终使用 meteor build 构建生产节点应用程序。阅读更多内容:https://guide.meteor.com/deployment.html#custom-deployment