我们有一个现有的mongodb,我使用以下方法导入我的Meteor应用程序:
mongorestore -h 127.0.0.1 --port 3001 -d meteor dump / mymongodb
现在看来我可以通过使用集合名称来访问任何集合,例如:
Meteor.publish 'works', ->
Works.find({}, {limit: 10, sort: {createdAt: -1}})
似乎工作,因为我们有一个名为works的集合。我甚至不必定义它:
@Works = new Meteor.collection('works')
尽管定义它可能不会有什么坏处。
但是当谈到Meteor.users集合时,我迷失了方向。我们的数据库中有一个名为users的集合,但我无法访问该集合。如何将我的用户从其他mongodb收集到应用程序的Meteor.users?
PS。我可以使用' meteor mongo'直接从终端访问用户集合。并搜索db.users.findOne()但我似乎无法从代码文件中访问它。
答案 0 :(得分:1)
您需要定义集合才能使用它们。 Meteor.users
由帐户包定义(例如accounts-password
)。如果您没有使用任何这些包,则需要像这样定义集合:
@Users = new Mongo.Collection 'users'
或
@Meteor.users = new Mongo.Collection 'users'
我经常在与我们的数据库交谈但不需要任何用户交互(数据库迁移,统计报告等)的应用程序中执行此操作。
当然,如果没有安装帐户软件包,您将无法获得其他任何用户功能,但在您的情况下这可能无关紧要。