We started using Meteor this week and really want to use it for as many projects as we can in the future.
Despite the fact that this afternoon we fall into the rock, in our ecosystem, we should be able to process and insert data inside mongodb from outside node / meteor.
Our two main solutions: MapReduce in an Hbase cluster and python scripts that parse CSV files and embed the results in MongoDB.
Right now, the only way to use data from MongoDB inside my Meteor application is when the data has been added through Meteor (console or form).
Let's take a quick example, I want to have access to the message via _id. Iron Router works great with this and gives helpers the ability to create a URL. With the same helpers, I could find two different results from three different uses.
The ObjectId seems to be wrong, and these are the three cases I encountered earlier:
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
Thus, I cannot access anything embedded in MongoDB with anything other than a meteor.
I found some related issues on Github, the main of which:
https://github.com/meteor/meteor/issues/61
But it was closed 8 months ago because the correction was on the roadmap. I am using the latest meteor (0.6.6.2), and this does not seem to be fixed yet.
My question is, what workaround can I find? I can't call JS methods like generating Meteor ObjectIDs inside Python, and what would be the best solution?
Should I use a node DDP application to handle all my external inserts in MongoDB?