我们本周开始使用 Meteor,并且非常渴望在未来尽可能多地使用它。
尽管今天下午我们遇到了困难,但在我们的生态系统中,我们需要能够从外部节点/流星处理和插入数据到 mongodb 中。
我们的两个主要解决方案是通过 Hbase 集群中的 MapReduce 和解析 CSV 文件并将结果插入 MongoDB 的 python 脚本。
现在,我可以在 Meteor 应用程序中使用来自 MongoDB 的数据的唯一方法是通过 Meteor(控制台或表单)添加数据。
让我们举个简单的例子,我希望能够通过 _id 访问帖子。Iron Router 可以正常工作,并提供帮助来构建 URL。使用相同的助手,我可以从三种不同的用法中找到两种不同的结果。
ObjectId 似乎是错误的,这是我之前遇到的三种情况:
http://0.0.0.0:3000/post/PAXEqRBB7RiNrdTTT => Inserted by Meteor, works fine
http://0.0.0.0:3000/post/ObjectId(526fe0701d41c894b9105bff) => Inserted by python, broken
http://0.0.0.0:3000/post/ObjectId(526fe0701d41c894b8715bff) => Inserted with meteor mongo shell
因此,除了流星之外,我无法访问 MongoDB 中插入的任何内容。
我在 Github 上发现了一些相关问题,主要是这个:
https://github.com/meteor/meteor/issues/61
但它在 8 个月前关闭,因为修复在路线图中。我正在使用流星的最新版本( 0.6.6.2 ),这似乎还没有修复。
我的问题是我能找到什么样的解决方法?我不能在 Python 中调用像 Meteor ObjectID 生成这样的 JS 方法,那么最好的解决方案是什么?
我应该使用 Node DDP 应用程序来处理我对 MongoDB 的所有外部插入吗?