使用Meteor连接远程MongoDB

6

提前道歉,如果我在使用Meteor/Mongo方面的术语和理解上有任何错误,因为我刚开始学习和开发。

我正在尝试将我的本地Meteor应用程序连接到远程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"});
      }
  });
}

我已经通过以下方式使用shell连接到了数据库:

$ MONGO_URL="mongodb://mysite.net:27017/legislation" meteor

在我的浏览器中,没有出现任何错误,并且在我定义的模板中看到了 [object Object]。控制台显示本地的 miniCollection,但没有从订阅集合返回任何文档。
我想我要问的是: 如果您要在本地应用程序中连接到远程 MongoDB,您会怎么做?
感谢您抽出时间来阅读,非常感激任何帮助。

另一个答案对你有用吗? - Paul
嗨,保罗,谢谢你的帮助。我正在阅读,稍后会告诉你! - T-Rex Tam
嗨,保罗,这解决了我的问题。非常感谢你的帮助。 - T-Rex Tam
你是在尝试直接从客户端访问数据库吗? - Gaelan
1个回答

1
如果你在浏览器的输出或运行服务器的控制台中没有看到错误,那么你可能已经设置好了。这正是我所做的。
在服务器目录下运行meteor list,查找insecureautopublish你应该了解这两个包它们用于快速原型设计。如果它们存在,则需要深入研究MongoDB和连接。
我推荐使用Robomongo直接查看MongoDB文档。
如果它们不存在,则需要发布数据(将其从服务器传递到客户端)并保护数据(只允许客户端修改自己的数据)。
我推荐使用这两个包。 reywood:publish-composite ongoworks:security 如果你还没有读过meteor入门书籍,那真的值得花一些时间去阅读。我已经开发了一段时间并最近学习了Meteor,这是非常宝贵的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接