0

I'm trying to seed my database with a collection exported via the mongoexport tool, but I can't seem to find any way to use the mongoimport tool through Ruby.

I looked at the Mongo Driver for how to execute mongo queries via Ruby, and thought about iterating through each line of json from the export, but there are keys like "$oid" which give errors when attempting to do a collection.insert()

Is it possible to use the mongoimport tool in Ruby, or what's the best way to add code to seeds.rb so that it imports a mongo collection?

Craig
  • 540
  • 5
  • 14

2 Answers2

1

The mongoimport tool is actually a command-line tool. So you don't use the Mongo Driver for this.

Instead you should "shell out" and call the process. Here's a link on calling a command from the shell.

Calling shell commands from Ruby

Community
  • 1
  • 1
Gates VP
  • 44,957
  • 11
  • 105
  • 108
0

mongoexport exports documents in an extended json format specified in the MongoDB docs.

http://www.mongodb.org/display/DOCS/Mongo+Extended+JSON

The driver doesn't read this format automatically. For seeding a database, you may want to use mongodump and mongorestore, which use the database's native BSON format. As another poster mentioned, you could easily shell out to do this.

Kyle Banker
  • 4,359
  • 23
  • 18