MongoDB数据管理

本文介绍了MongoDB的数据管理操作,包括如何进行数据备份,利用工具进行数据恢复,以及数据的导出和导入。数据备份可通过查询并写入文件实现,数据恢复常与配合使用。数据导出支持JSON和CSV格式,导入时可选择是否更新现有数据或处理重复_id。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据备份

MongoDB 提供了mongodump用于数据备份, mongodump的原理是多MongoDB进行普通查询.然后写入文件

mongodump -d test -o /home/bak

mongodump可以使用-q条件增加查询条件,-c 指定collection

mongodump -d test -c user -q "{name:'xxx'}" -o /home/bak

更多参数可参照 mongodump --help

数据恢复

mongorestore一般与mongodump搭配使用,用于恢复数据库

mongorestore -d test /home/bak/test --drop

使用的是/home/bak/test目录下的BSON或者JSON文件恢复数据库.–drop表述如果存在test库则删除原数据库.

数据导出

MongoDB还提供了一种针对集合的备份方式:使用mongoexport命令.

导出JSON文件
mongoexport -d test -c user  -o /home/bak/user.json

同样也可以使用-q参数增加查询条件.

mongoexport -d test -c user -q "{name:'xxx'}" -o /home/bak/user.json
导出CSV文件
mongoexport -d test -c user --csv -f id,name,age -o /home/bak/user.csv

-f指定导出的字段

数据导入

mongoimportmongoexport配合使用

导入JSON文件

mongoimport -d test -c user  /home/bak/user.json --upsert

–upsert表示更新现有数据,如果不使用–upsert则导入重复的文档会报_id重复,数据也不再插入.

导入CSV文件

mongoimport -d test -c user --type csv --headerline --file /home/bak/user.json --upsert

–headerline指明不导入第一行.CSV第一行为列名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值