0

別のプログラムで読み取ることができるように、mongoexportを使用してjsonで大量のデータをエクスポートしようとしています。私は次のコマンドを使用します:

mongoexport --jsonArray -h some_ip -d some_db -c some_collection -o mongo_dump.json

問題は、私の日時オブジェクトがすべて次のように表示されることです。

"time_created" : { "$date" : 1344000402000 }
"time_created" : { "$date" : 1343999298000 }

これは特別な64ビットのmongo時間形式です。unixtimestampsを取得するために指定できる簡単なものはありますか?モンゴの時間は私には役に立たず、変換するのが面倒です。

4

1 に答える 1

2

残念ながら、出力でそれらを変更するフラグはないと思います。

ただし、違いは末尾の 3 桁が増えるだけなので、次のようにするだけで済みます。

sed -e 's/{ "\$date" : \([0-9]*\)[0-9]\{3\}/{ "\$date" : \1/' mongo_dump.json > unixstyle.json

それは変換しました:

"time_created" : { "$date" : 1344000402000 }
"time_created" : { "$date" : 1343999298000 }

に:

"time_created" : { "$date" : 1344000402 }
"time_created" : { "$date" : 1343999298 }

0だけでなく、あらゆる種類の数字を処理するように修正するために編集されました

于 2012-09-17T20:14:15.167 に答える