关于mongo集合的备份和恢复以及合并
关于mongo集合的备份和恢复以及合并
在mongo中,数据是存储在集合中的,数据的形式为key,values对。 mongo存在单独的命令对集合进行备份恢复
集合的导出 /data/home/user00/*/usr/mongo/bin/mongoexport --host 127.0.0.1 --port 31000 --username --password **** --collection test_table --db test_db --out test_table.json 将test_db库的test_table集合导出,并存储为json文件(默认当前路径)
集合的恢复 /data/home/user00/*/usr/mongo/bin/mongoimport --host 127.0.0.1 --port 31000 --username --password **** --collection test_table --db test_db --file test_table.json
合并集合
集合在合并的时候,因为id创建规则一致,所以会出现id重复的情况,这种情况下是没办法合并集合的,我们需要用些手段去更改某个集合的id信息,最简单的为把id的某一列字母做统一修改(需要先观察下两个需要合并集合的id情况再决定)
如:
for i in cat test_table.json
do
a=echo $i | awk -F "}" '{print $1}' | awk -F '"' '{print $6}'
b=echo $a | sed 's@5@4@'
sed -i 's@'$a'@'$b'@g' test_table.json
done