2012-01-01 16 views
2

我正在家里和我的笔记本电脑上的Python/MongoDB项目工作。 文档存储中的模式自然地最好由数据本身来表示 - 这就是为什么我想将测试数据与代码本身一起分发到Mercurial上的原因。如何通过VCS分发MongoDB测试数据?

最好的方法是只需转储文件中的BSON并将其添加到mercurial存储库?

+0

也许尝试通过'xxd'过滤器在每个方向上运行它,如果你认为这将是更有意义的是能够diff的它。 – 2012-01-01 21:15:14

回答

0

因为它是二进制文件并且无法轻松查看,所以将BSON转储并放入VCS没有什么意义。

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

这里是(重新格式化为可读性)的例子:

[email protected]$ mongoexport -d test -c geo \ 
[email protected]$ -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