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

How to use same DB for two ddp connected applications

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

我做错了什么?

  1. 正在启动主 Web 应用程序:meteor(应在端口 3001 上加载 mongodb)
  2. 启动服务应用程序:MONGO_URL=mongodb://localhost:3001/mydb meteor --port 3100

网络(主要) /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 个结果?

在您的服务应用程序中试试这个:

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

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

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

记得先启动主应用程序