Edited at

BSONデータをbsondumpでJSONに変換する

More than 1 year has passed since last update.


変換前にcatで表示させると文字化けするためJSONに変換する


変換コマンド

[root@localhost crowidb]# ls -lah

合計 2.3M

drwxr-xr-x. 2 root root 4.0K 10月 3 04:08 .

drwxr-xr-x. 7 root root 72 10月 2 22:05 ..

-rw-r--r--. 1 root root 1.3K 10月 2 22:05 attachments.bson

-rw-r--r--. 1 root root 321 10月 2 22:05 attachments.metadata.json

-rw-r--r--. 1 root root 86 10月 2 22:05 bookmarks.bson

-rw-r--r--. 1 root root 450 10月 2 22:05 bookmarks.metadata.json

-rw-r--r--. 1 root root 0 10月 2 22:05 comments.bson

-rw-r--r--. 1 root root 424 10月 2 22:05 comments.metadata.json

-rw-r--r--. 1 root root 1.5K 10月 2 22:05 configs.bson

-rw-r--r--. 1 root root 297 10月 2 22:05 configs.metadata.json

-rw-r--r-- 1 root root 13 10月 3 02:33 export.csv

-rw-r--r--. 1 root root 263K 10月 2 22:05 pages.bson

-rw-r--r--. 1 root root 762 10月 2 22:05 pages.metadata.json

-rw-r--r-- 1 root root 405K 10月 3 00:48 pages.txt

-rw-r--r--. 1 root root 739K 10月 2 22:05 revisions.bson

-rw-r--r--. 1 root root 99 10月 2 22:05 revisions.metadata.json

-rw-r--r-- 1 root root 819K 10月 3 04:08 revisions.txt

-rw-r--r-- 1 root root 1.3K 10月 2 22:05 searchwords.bson

-rw-r--r-- 1 root root 101 10月 2 22:05 searchwords.metadata.json

-rw-r--r--. 1 root root 2.7K 10月 2 22:05 system.indexes.bson

-rw-r--r--. 1 root root 0 10月 2 22:05 updateposts.bson

-rw-r--r--. 1 root root 214 10月 2 22:05 updateposts.metadata.json

-rw-r--r-- 1 root root 385 10月 2 22:05 user.bson

-rw-r--r-- 1 root root 94 10月 2 22:05 user.metadata.json

-rw-r--r--. 1 root root 1.4K 10月 2 22:05 users.bson

-rw-r--r--. 1 root root 515 10月 2 22:05 users.metadata.json

-rw-r--r-- 1 root root 116 10月 2 22:05 words.bson

-rw-r--r-- 1 root root 95 10月 2 22:05 words.metadata.json


変換コマンド

[root@localhost crowidb]# bsondump revisions.bson


検索コマンド

[root@localhost crowidb]# cat revisions.txt | grep -R -e 'test'


2017年10月分だけ抽出

grep -e '/user/test/日報/2017/10/' pages.txt | gawk '{ match($0, /"revision" : ObjectId. "([0-9a-f]+)"/, m ); print m[1];}' | awk '{system("grep -e " $0 " revisions.txt");}'

①日付でひっかけてObjectIdを表示させる

grep -e '/user/yamagami/日報/2017/10/' pages.txt

②ObjectIdの情報のみ表示させる

gawk '{ match($0, /"revision" : ObjectId. "([0-9a-f]+)"/, m ); print m[1];}'

③ObjectIdの情報を表示させる

awk '{system("grep -e " $0 " revisions.txt");}'