如何为两个ddp连接的应用程序使用相同的数据库

时间:2017-02-09 10:28:47

标签: javascript mongodb meteor microservices

我通过DDP连接了两个流星应用程序。我希望在第二个服务应用程序上获得数据库数据,但我没有得到任何数据。 由于两者都在服务器端运行,我没有做任何订阅 - 我认为在这个例子中我不必这样做。

我做错了什么?

  1. 启动主Web应用程序:meteor(应在端口3001上加载mongodb)
  2. 启动服务申请:MONGO_URL=mongodb://localhost:3001/mydb meteor --port 3100
  3. 网络(主要) /server/main.js

    Examples = new Mongo.Collection('examples');
    var serviceConn = DDP.connect("http://localhost:3100");
    console.log(Examples.find().count()); // Returns 21
    

    服务1 /server/main.js

    Examples = new Mongo.Collection('examples');
    console.log(Examples.find().count()); // Returns 0 !
    

    那么为什么我不能在服务应用程序上获取收集数据,因为它给我0个结果?

1 个答案:

答案 0 :(得分:3)

在您的服务应用程序中尝试此操作:

const con = DDP.connect('http://localhost:3000');

Examples = new Mongo.Collection('examples', {
  connection: con,
});

console.log(Examples.find().count());

请记住首先启动主应用程序