我目前有一个大型数据库,我需要一种备份数据子集的方法,然后可以在另一个mongodb实例上导入。
例如,我需要找到包含密钥的所有文档,基本上是:find({key:' somekey'}),然后导出该数据集。我想只需在NodeJS中运行查询,并以JSON格式保存数据。我不认为这是最优的,因为通过我的理解,简单地再次导入JSON数据(如果将来需要)不会是一项简单的任务,因为数据类型将丢失。
所以我的问题是,如何导出数据集的子集,以便可能将其重新导入到另一台服务器上的另一个mongodb实例中。
答案 0 :(得分:4)
感谢@ Veeram的评论,这样做的方法是BSON,以便它保留所有数据结构:
sudo mongodump -d DB_Name -c Collection -q '{"key_name": "value"}' --out /home/collection
然后将其导回:
sudo mongorestore -d DB_Name -c Collection /home/collection/DB_Name/Collection.bson