Meteor Not Working With Imported Compose MongoDB


#1

I’m hoping someone might have experience using a non-trivial sized database with Compose. I’m just going to layout the details in bullet form because it can get confusing. I’ve bolded the most important point if you don’t want to read everything.

  • have an app on heroku that uses mongohq [small] db. DB is about 1GB.
  • built new tools in meteor, needs to use said mongohq db
  • mongohq db does not support oplog so using it is not an option
  • create new Compose account, setup a credit card and get activated with their one free month promotion
  • export db from heroku mongohq to new compose account using mongodump/mongorestor
  • mongorestore fails because the user collection can’t be overwritten
  • I delete user collection that I dumped and restore works
  • queries from command line work, queries from robomongo work and queries from within Compose tool works
  • queries from Meteor do NOT work. I confirm with Compose support that my env variables are correct, that the oplog param is indeed correct
  • confirm that my user account does indeed have oplog support
  • wipe out the db and do a db import straight from my heroku Compose/mongohq account directly to the new Compose account (using compose ui tool)
  • new import works great, everything works as expected EXCEPT Meteor.
  • create a new collection in Compose account, manually insert records from the imported collection that does not work with meteor
  • update meteor app to point to new collection and it works!

I’m out of ideas on how to make this work and Compose support has been absolutely worthless. In fact, I may leave them just for their lack of support as this seems to be an issue on their end. With that said, I’m really hoping this is something amazingly stupid from my end so I can get things moving again.

Does anyone know if there is a DB size limit for using compose during the trial? Some parts of their app reports my DB at 600mb which suggests something is awry. My guess is that oplog access is simply not working, but that detail does not get reported back to me.

Sorry for the log winded text, I wanted to demonstrate that I’ve tried everything I can think of.


#2

Do you have any logs from your meteor server?


#3

I turned on verbose logging, but nothing happens when I query the collection. I just get a blank array back.


#4

Is your Mongo dump from a mongodb (eg. 2.6) with the same version as the mongodb that you restored to(eg. 3.0) (I’m just throwing out the different things that I think it could be, not implying you didn’t think of this)?


#5

khamoud,

The Heroku MongoHQ account uses Mongo 2.4.3. I tried importing that version over to Compose’s default (which I believe is aldo 2.4.3) and I’ve also tried importing to a 3.0.1 version of mongo that I upgraded to.

The same issue persists with both versions unfortunately.

(no worries about pointing out anything that seems obvious, I’m not eliminating a possible stupid error on my end quite yet)


#6

I discovered the problem. It appears I have a corrupted record that is breaking the export/import and dump/restore process from working.

I exported my db with a specific query that seems to circumvent the problem. Not sure how or why this happened, but at least I can move forward now.


#7

Recently I discovered a tool simply called DbSchema. First of all I was impressed because they do diagrams for MongoDB.
Second I found great an data explorer from them, where you can explore data from each collection and sub-documents in a separate window.
Now I am dealing with virtual foreign key from them, to explore data from two collections bind referencing one the other via ObjectId’s.

Look for DbSchema tool, is great for the diagrams they do for MongoDB, query builder and data explorer.
Some features you may discover inside like virtual foreign keys makes the interaction really similar with relational databases,
where you can place data in multiple collections and join it with ObjectId’s.

I was surprised to see is possible to have diagrams for MongoDB as well, as for any relational database.
Go for the tool DbSchema. Have a look on relational data browse and the virtual foreign keys there,
they are a step forward in designing a database with data over multiple collections and references between them via ObjectId’s.