mongodb 공백 없이 json을 인쇄합니다. 예를 들어, 예쁜 json이 아닙니다.
저는 mongodb 2.2.0을 사용하고 있으며 json을 한 줄로 인쇄하려고 합니다.printjson()
또는find().pretty()
즉, 명령을 실행하는 것만으로 완료된 json 형식으로 나열된 문서가 필요합니다.db.collection.find().limit(10)
하지만 저는 다음과 같이 자바스크립트 파일의 커서를 사용하여 그것을 완료해야 합니다.
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"
}
>
다른 모든 방법에 의해 제시된 바와 같이.다시 한번, 저는 커서 객체를 사용하여 이것이 필요합니다.
var cursor = db.collection.find().sort({_id:-1}).limit(10000);
while(cursor.hasNext()){
printjsononeline(cursor.next());
}
해라print(tojson())
MongoDB 문서에 커서를 사용하여 인쇄하는 예가 있습니다.
var myCursor = db.inventory.find( { type: 'food' } );
var myDocument = myCursor.hasNext() ? myCursor.next() : null;
if (myDocument) {
var myItem = myDocument.item;
print(tojson(myItem));
}
JS 해킹은 언제든지 할 수 있습니다.
> db.tg.find().forEach(function(doc){ print(tojson(doc).replace(/(\r\n|\n|\r|\s)/gm, '')); })
{"_id":ObjectId("511223348a88785127a0d13f"),"a":1,"b":1,"name":"xxxxx0"}
예쁘지는 않지만 효과가 있습니다.
"sort" 및 "limit"를 사용하여 결과를 사용자 정의할 수 있습니다.mongoexport --type=csv를 사용하면 결과를 xls 또는 한 줄로 읽을 수 있는 csv 파일로 인쇄할 수 있습니다.
각 항목에 {}개의 대괄호가 있지만 다른 항목이 없는 경우 정규식을 사용하여 대괄호에서 분할합니다.
그러면 {}(으)로 분할됩니다.{...}개 항목입니다.그러나 중첩된 {}이(가) 있으면 작동하지 않습니다.
var res = s.match(/\{(.|\s)*?\}/g);
if(res) for(var x=0;x<res.length;x++){
// print res[x].replace(/\s+/g," ");// w/o spaces
}
명령줄에서 사용하는 내용은 다음과 같습니다.
mongoexport -d $dbname -c $collection -q '{ "id" : -1 }'
/sort/limit 할 수 있는지 확실하지 않음
언급URL : https://stackoverflow.com/questions/14752450/mongodb-print-json-without-whitespace-i-e-unpretty-json
'programing' 카테고리의 다른 글
UITableView 스크롤 시 키보드 숨기기 (0) | 2023.07.02 |
---|---|
업데이트에서 레코드에 순차적으로 번호 매기기 (0) | 2023.07.02 |
mongodb 서비스를 시작할 수 없습니다. (0) | 2023.07.02 |
Firebase Crashlytics에 매핑 파일을 업로드하는 방법은 무엇입니까? (0) | 2023.07.02 |
응답에서 텍스트 읽기 (0) | 2023.07.02 |