使用Meteor连接到远程MongoDB

T-R*_*Tam 6 mongodb meteor

对于任何与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,你会怎么做?

感谢您花时间阅读,任何帮助都非常感谢.

Mic*_*ole 1

Rex,如果您在浏览器上或运行服务器的控制台中没有看到输出错误,那么您可能设置正确。我就是这么做的。

在服务器目录中运行meteor list并查找insecureautopublish

你应该了解这两个包,它们是用于快速原型制作的。如果它们存在,则继续深入研究 MongoDB 和连接。

我推荐Robomongo直接在 MongoDB 中查看文档。

如果它们不存在,那么您需要发布数据(将其从服务器获取到客户端)并保护数据(只允许客户端修改其数据)。

为此我推荐这两个包。

reywood:publish-composite ongoworks:security

如果您还没有读过《流星简介》这本书,那真的值得花时间。我已经开发了一段时间,最近学习了meteor。这是无价的。