2012-07-24 71 views
1

我有一個大的Mongo集合,我想從中轉儲一個子集以複製到登臺服務器進行測試。該集合包含GridFS文件ObjectID的字段。我可以使用mongodump的--query標誌很容易地獲得集合的子集,但是我找不到任何簡單的方法來只轉儲主集合中匹配記錄所引用的GridFS文件和塊。什麼是最不痛苦的方式來完成這一點?如果僅僅使用Mongo的命令行工具沒有任何直接的方法來執行導出,那麼我不會特別感到意外,所以如果是這樣的話,我也會對導出的方式感興趣編程,但產生的輸出可能是進口與像mongorestore標準工具。Python的蒙戈司機與我最舒服的,但我不挑剔。)轉儲包含GridFS引用的mongo集合的子集?

回答

2

目前旗下有沒有內置在做到這一點,你最好的選擇是編寫一個Python腳本。

最好不要使用mongodump。編寫python腳本以從原始服務器讀取並插入登臺服務器。如果你在每個gridfs文件的文檔級別上做文件,先做文件塊,然後文件文件。如果您使用python gridfs類,只需從原始服務器讀取並保存到登臺服務器。

查看PyMongo GridFS documentation