对于任何与Meteor/Mongo的术语和理解失败的事先提前道歉,我刚刚开始学习和开发它.
我正在尝试将我的本地流星应用程序连接到其他地方托管的远程mongodb.
我的代码看起来像这样:
Bills = new Mongo.Collection("bills");
if (Meteor.isClient) {
Meteor.subscribe("bills");
// This code only runs on the client
Template.body.helpers({
documentContent: function () {
return Bills.find();
}
});
Template.documentBody.helpers({
documentContent: function ()
{
var thingy = Bills.find();
console.log(thingy);
return Bills.find({_id: "784576346gf874"});
}
});
}
Run Code Online (Sandbox Code Playgroud)
我通过shell使用以下连接到DB:
$ MONGO_URL="mongodb://mysite.net:27017/legislation" meteor
Run Code Online (Sandbox Code Playgroud)
在我的浏览器中,我没有收到任何错误,在我定义的模板中,我看到[object Object].控制台显示本地miniCollection,但不会从订阅的集合中返回任何文档.
我想我要问的是; 如果你在本地应用程序中连接到远程MongoDB,你会怎么做?
感谢您花时间阅读,任何帮助都非常感谢.
Rex,如果您在浏览器上或运行服务器的控制台中没有看到输出错误,那么您可能设置正确。我就是这么做的。
在服务器目录中运行meteor list并查找insecure和autopublish
你应该了解这两个包,它们是用于快速原型制作的。如果它们存在,则继续深入研究 MongoDB 和连接。
我推荐Robomongo直接在 MongoDB 中查看文档。
如果它们不存在,那么您需要发布数据(将其从服务器获取到客户端)并保护数据(只允许客户端修改其数据)。
为此我推荐这两个包。
reywood:publish-composite
ongoworks:security
如果您还没有读过《流星简介》这本书,那真的值得花时间。我已经开发了一段时间,最近学习了meteor。这是无价的。