私はmongodb 2.2.0を使用しており、printjson()
またはを使用した「きれいな」印刷とは対照的に、jsonを1行で印刷しようとしていますfind().pretty()
。つまり、コマンドを実行するだけで実行できるように、json 形式でリストされたドキュメントがdb.collection.find().limit(10)
必要ですが、次のように JavaScript ファイル内のカーソルを使用して実行する必要があります。
var cursor = db.collection.find().sort({_id:-1}).limit(10000);
while(cursor.hasNext()){
//printNonPrettyJson(cursor.next()); //How???!
}
print()
オブジェクト識別子について意味不明なことを出力するだけです。
これが必要な理由は、コンソールから JavaScript ファイルを呼び出して、次のように出力をファイルに渡すためです。
mongo mydatabase myjsfile.js >> /tmp/myoutput.txt
編集:次のように出力したい:
> db.zips.find().limit(2)
{ "city" : "ACMAR", "loc" : [ -86.51557, 33.584132 ], "pop" : 6055, "state" : "A
L", "_id" : "35004" }
{ "city" : "ADAMSVILLE", "loc" : [ -86.959727, 33.588437 ], "pop" : 10616, "stat
e" : "AL", "_id" : "35005" }
>
好きではない:
> db.zips.find().limit(2).pretty()
{
"city" : "ACMAR",
"loc" : [
-86.51557,
33.584132
],
"pop" : 6055,
"state" : "AL",
"_id" : "35004"
}
{
"city" : "ADAMSVILLE",
"loc" : [
-86.959727,
33.588437
],
"pop" : 10616,
"state" : "AL",
"_id" : "35005"
}
>
他のすべての方法で与えられるように。繰り返しますが、カーソル オブジェクトを使用してこれが必要です。