我试图在一个包中创建一个集合(技术上是在一个构建插件中):
StaticCollection = new Mongo.Collection(null)
// also the same with Mongo.Collection('static')
StaticCollection.insert({stuff: 'thing'})
但这实际上引发了这个错误:
While loading plugin `compileMarkdownFiles` from package `faichenshing:collection-files`:
packages/compileMarkdownFiles/plugin/compile-md.js:29:1: Mongo is not defined
at Package (packages/compileMarkdownFiles/plugin/compile-md.js:29:1)
at <runJavaScript-268>:121:4
at <runJavaScript-268>:128:3
这也不是Meteor.Collection
。
然后我尝试将mongo
集合导入到我的构建插件中,如下所示:
Package.registerBuildPlugin({
name: "compileMarkdownFiles",
use: ['spacebars-compiler', 'mongo'],
// etc.
});
以及我的Package.onUse
:
api.use('mongo')
它会抛出此错误:
While loading plugin `compileMarkdownFiles` from package `faichenshing:collection-files`:
packages/ddp/stream_server.js:3:1: __meteor_runtime_config__ is not defined
at self (packages/ddp/stream_server.js:3:1)
at <runJavaScript-83>:694:4
at <runJavaScript-83>:4779:3
无法搜索__meteor_runtime_config__
已澄清此问题。这似乎完全不相关。
像this one这样的问题似乎根本没有遇到这个问题。
我越是想到这一点,我越相信它与此代码中存在构建插件有关,但集合定义不会发生在registerSourceHandler
或任何事情中。