使用现有数据库进行流星收集

时间:2016-04-07 06:06:44

标签: node.js meteor content-management-system

我是meteor的新手,无法找到将现有数据库加载到meteor中的方法。

以下是该方案。我有一个现有的远程数据库,其中包含集合' analytics'移动应用程序正在使用它来记录用户'数据。对于Meteor方面,我正在构建一个管理面板来加载可视化的分析数据。我成功连接到远程数据库但是我无法在Meteor中显示任何数据。

这是我的代码:

Analytics = new Mongo.Collection('analytics');
console.log(Analytics.find().fetch());

即使集合不为空,它也会显示空数组。

2 个答案:

答案 0 :(得分:1)

有两种方法可以做到这一点。

选项1

像这样设置MONGO_URL环境变量

export MONGO_URL=mongodb://<remote-url>:<db-port</<db-name>

示例,

export MONGO_URL=mongodb://localhost:27017/db

这样,您使用new Mongo.Collection('<collection-name>');创建的所有集合都将使用远程数据库。

选项2

如果您只想使用远程数据库中的Analaytics集合,那么

var driver = new MongoInternals.RemoteCollectionDriver("mongodb://localhost:27017"); 
// Or If you have oplog URL
// var driver = new MongoInternals.RemoteCollectionDriver("mongodb://localhost:27017", { oplogUrl: <oplog-url-string-here> }); 

Analytics = new Mongo.Collection('analytics', { _driver: driver });

答案 1 :(得分:0)

Befor start Meteor,你需要设置MONGO_URL

查看this文章。

之后,您需要自动发布包或更正pub / sub。