如何从 mongodb 导出数据子集
How to export subset of data from mongodb
我目前有一个大型数据库,我需要一种备份数据子集的方法,然后可以将这些数据子集导入另一个 mongodb 实例。
例如,我需要找到所有包含键的文档,因此本质上是:find({key: 'somekey'}),然后导出该数据集。我想在 NodeJS 中简单地 运行 查询,并以 JSON 格式保存数据。我不认为这是最佳的,因为根据我的理解,再次简单地导入 JSON 数据(如果将来需要)将不是一项简单的任务,因为数据类型将会丢失。
所以我的问题是,我将如何导出数据集的一个子集,以便可能将其重新导入到另一台服务器上的另一个 mongodb 实例中。
感谢@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
我目前有一个大型数据库,我需要一种备份数据子集的方法,然后可以将这些数据子集导入另一个 mongodb 实例。
例如,我需要找到所有包含键的文档,因此本质上是:find({key: 'somekey'}),然后导出该数据集。我想在 NodeJS 中简单地 运行 查询,并以 JSON 格式保存数据。我不认为这是最佳的,因为根据我的理解,再次简单地导入 JSON 数据(如果将来需要)将不是一项简单的任务,因为数据类型将会丢失。
所以我的问题是,我将如何导出数据集的一个子集,以便可能将其重新导入到另一台服务器上的另一个 mongodb 实例中。
感谢@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