近期需要将 Mongodb 的一些数据转存 MySQL, 之前只有 BSON 的数据包.
最初的思路, 直接使用 PHP 的扩展 bson_decode,
发现有两个比较棘手的问题,
一个是内存占用的问题, 如果一个 bson 超过 2M, 好像就很费力.
就是中文虽然出现了, 但是还是会有很多特殊符号显示不出来, 总是有问题
最好还是从数据源头来解决, 采用 json 或者 csv 来处理应该就好很多
- mongoexport
- mongoexport --port ***** -u **** -p ******** -d ****** -c ***** -f ******************************** --type=json -o *****.json
-h,--host : 代表远程连接的数据库地址, 默认连接本地 Mongo 数据库;
--port: 代表远程连接的数据库的端口, 默认连接的远程端口 27017;
-u,--username: 代表连接远程数据库的账号, 如果设置数据库的认证, 需要指定用户账号;
-p,--password: 代表连接数据库的账号对应的密码;
-d,--db: 代表连接的数据库;
-c,--collection: 代表连接数据库中的集合;
-f, --fields: 代表集合中的字段, 可以根据设置选择导出的字段;
--type: 代表导出输出的文件类型, 包括 csv 和 json 文件;
-o, --out: 代表导出的文件名;
-q, --query: 代表查询条件;
--skip: 跳过指定数量的数据;
--limit: 读取指定数量的数据记录;
--sort: 对数据进行排序, 可以通过参数指定排序的字段, 并使用 1 和 -1 来指定排序的方式, 其中 1 为升序排列, 而 - 1 是用于降序排列, 如 sort({KEY:1}).
就是这样就可以了
来源: http://www.bubuko.com/infodetail-2729948.html