【发布时间】:2014-05-18 16:34:47
【问题描述】:
我目前正在开发一个 Meteor 应用程序,该应用程序将基于不同的包(可能由不同的开发人员创建)。
我的问题是,是否有一种类似流星的方式来命名空间集合,这样它们就不会与其他可用的集合发生冲突。
例如,我有一个包使用名为“todos”的集合,而另一个包也可能包含一个名为“todos”的集合。有没有办法为这些集合命名(例如,加上它们的包名)?
我发现在 MongoDB 中有一个使用 '.' 的命名空间选项: http://docs.mongodb.org/manual/faq/developers/#what-is-a-namespace-in-mongodb
这也是 Meteor 中命名空间集合的最佳方式吗?
以 Rails 为背景来到 Meteor,我记得您可以在 Rails 中创建命名空间引擎(这也创建命名空间数据库表)。 Meteor 有类似的东西吗?
我最接近的是我发现的这个问题: https://github.com/CollectionFS/Meteor-cfs-gridfs/issues/6
提前致谢!
【问题讨论】:
-
据我所知,MongoDB 不允许您创建命名空间集合(数据库除外),Meteor 也不允许。
-
除非您想在字符串名称中手动命名它们(例如:“bobbyApp_questions”和“aliceApp_questions” - 没有访问分离或任何东西)
-
因此,如果合适,请使用单独的数据库。
-
这个包atmospherejs.com/package/dbproxy 可能会有所帮助。
-
感谢您的 cmets!我想我会坚持将命名空间添加到集合名称(例如“fooCollection”或“foo_collection”)
标签: mongodb namespaces meteor minimongo