如何通过VCS分发MongoDB测试数据?

时间:2012-01-01 12:52:25

标签: python mongodb mercurial dvcs nosql

我正在家里的电脑和笔记本电脑上进行Python / MongoDB项目。 当然,文档存储中的模式最好用数据本身来表示 - 这就是我想在Mercurial上分发我的测试数据以及代码本身的原因。

最好的方法是简单地将BSON转储到文件中并将其添加到mercurial存储库吗?

1 个答案:

答案 0 :(得分:0)

将BSON转储并放入VCS中没有多大意义,因为它是二进制文件,无法轻易查看。

您可以使用mongoexport工具将集合导出为JSON。您甚至可以将其传递给查询过滤器以限制导出文档的数量。

这是一个例子(为了便于阅读而重新格式化):

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