对mongodb导出的.bson文件直接进行查询

如果要查询通过mongodb的mongodump导出的.bson文件(比如历史备份),是一件比较麻烦的事情。简单写了一个工具sonq,可以针对.bson文件直接进行查询。

首先可以通过pip进行安装

sudo pip install sonq

然后就可以通过sonq这个命令行工作对.bson文件进行查询了,下面举几个例子。

直接输出source.bson文件中的内容,不做过滤:

sonq source.bson

在source.bson中,查询name为'Stark'的文档:

sonq -f '{"name": "Stark"}' source.bson

在source.bson中,查询name在['Ned', 'Robb', 'Snow']中的文档:

sonq -f '{"name": {"$in": ["Ned", "Robb", "Snow"]}}' source.bson

把查询的结果输出到target.bson中,这样target.bson也可以再导入回到其他的mongodb中(比如测试使用的数据库):

sonq -f '{"name": "Stark"}' -o target.json source.bson

sonq的源码见 https://github.com/socrateslee/sonq

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
要还原MongoDB中的BSON文件,你可以使用命令行或工具来完成。首先,你可以使用以下命令安装 "mongodb-restore" 库: ``` npm install mongodb-restore ``` 或者使用以下命令克隆 "mongodb-restore" 项目: ``` git clone git://github.com/hex7c0/mongodb-restore.git ``` 请注意,引用中提到的 Bson@0.4.11已被移除,版本大于等于1.3.0且小于等于1.4.1的版本已被弃用。 对于导入BSON文件的步骤,你可以按照以下方法进行操作: 1.确保已经安装了MongoDB数据库,并且你已经了解了如何使用它。 2.使用命令行进入到你的MongoDB安装目录。 3.使用"mongorestore"命令来还原BSON文件,例如: ``` mongorestore --collection collection --db database path/to/your/bson/file.bson ``` 请将"collection"替换为你要导入的集合名称,"database"替换为你要导入到的数据库名称,"path/to/your/bson/file.bson"替换为你的BSON文件的路径。 完成这些步骤后,你可以刷新数据库,你导入的集合将会出现在数据库中,并且你可以将其重命名为你想要的表名。 关于将MongoDB转换为MySQL,你可以使用一些工具来实现。其中一种方法是使用"studio 3T"自带的SQL Migration工具进行导出。你可以按照工具的指南来进行操作。 希望这些信息能对你有所帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [mongodb-restore:从mongodb-backup中为Node.js还原数据](https://download.csdn.net/download/weixin_42148975/15033322)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Windows系统如何使用MongoDB数据库恢复(导入)GHTorrent下载的bson文件](https://blog.csdn.net/weixin_40308540/article/details/85045186)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [MongoDB还原备份Bson文件导出SQL文件](https://blog.csdn.net/lucky_love816/article/details/108396666)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

socratescli

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值