Как распространить тестовые данные MongoDB по VCS? - PullRequest
2 голосов
/ 01 января 2012

Я работаю над проектом Python / MongoDB на моем домашнем компьютере и ноутбуке. Схема в хранилищах документов, естественно, лучше всего представлена ​​самими данными, и именно поэтому я хочу распространять свои тестовые данные через Mercurial вместе с самим кодом.

Лучше всего было бы просто сбросить BSON в файл и добавить его в хранилище Mercurial?

1 Ответ

0 голосов
/ 02 января 2012

Сброс BSON и помещение его в VCS не имеет особого смысла, так как это двоичный файл и его нельзя легко просмотреть.

Вы можете экспортировать коллекцию в JSON, используя инструмент mongoexport,Вы можете даже передать ему фильтр запросов, чтобы ограничить количество экспортируемых документов.

Вот пример (переформатированный для удобства чтения):

sergio@soviet-russia$ mongoexport -d test -c geo \
sergio@soviet-russia$    -q '{"_id":  ObjectId("4efa5f7d8840e680c850cd94") }'
connected to: 127.0.0.1
{ "_id" : { "$oid" : "4efa5f7d8840e680c850cd94" }, 
  "longg" : [ { "start" : 322815488, "end" : 322817535 }, 
              { "start" : 822815488, "end" : 822817535 } ], 
  "m" : "Cracow", 
  "postal" : 55050, 
  "lat" : [ "XX.89XXX", "XX.74XXX" ] }
exported 1 records
...