我正在关注望远镜教程。
在本教程中,我被告知要通过打开Mongo控制台来插入新帖子。
$ meteor mongo
我怎么能:
$ meteor mongo (somehow connect to my remote DB to use the meteor commands in terminal
所以我可以:
$ db.collectionname.insert({ stuff });
或者这与“Meteor”无关,在这种情况下,我只使用Meteor之外的Mongo shell?我在“/client/collections/collection.js”中创建的集合只是为了告诉Meteor将哪个集合作为子集推送到客户端?
我想使用相同的数据库(使用MongoHQ远程托管)进行本地开发,以及我的实际实时dev.mysite.com,所以当我部署到这个开发站点时,我在数据库中所做的任何事情都是也准备好了。
答案 0 :(得分:22)
假设您的用户名为username
,密码为PASSWORD
,数据库为test
,主机名为hatch.mongohq.com
:
$ mongo hatch.mongohq.com:27017/test -u username -p PASSWORD
$ MONGO_URL="mongodb://username:PASSWORD@hatch.mongohq.com:27017/test" meteor
您应该在client
目录之外定义Meteor集合,以便它们可以在客户端和服务器上使用。有关详细信息,请参阅this。
您会发现连接到远程数据库比在本地连接要慢得多,因此通常不推荐用于开发。
Meteor在启动时会为您创建一个开发数据库。这也为您提供了非常有用的命令:meteor reset
和meteor mongo
,以重置并连接到所述数据库。
在服务器上创建一个文件进行初始化 - 例如server/initialize.js
。服务器启动时,您可以添加尚不存在的用户或其他文档。例如:
Meteor.startup(function() {
if (Meteor.users.find().count() === 0) {
Accounts.createUser({
username: 'jsmith',
password: 'password',
profile: {
firstName: 'John',
lastName: 'Smith'
}
});
}
});