IT story

MongoDB의 쉘에서 20 개 이상의 항목 (문서)을 인쇄하는 방법은 무엇입니까?

hot-time 2020. 4. 10. 08:19
반응형

MongoDB의 쉘에서 20 개 이상의 항목 (문서)을 인쇄하는 방법은 무엇입니까?


db.foo.find().limit(300)

하지 않습니다. 여전히 20 개의 문서 만 인쇄합니다.

db.foo.find().toArray()
db.foo.find().forEach(printjson)

에 대한 한 줄짜리 버전 대신 각 문서의 매우 확장 된보기를 인쇄합니다 find().


DBQuery.shellBatchSize = 300

할 것이다.

MongoDB Docs-mongo Shell 시작하기-쿼리 실행


쉘에서 모든 결과를 표시하려면 모든 결과를 표시 db.collection.find().toArray()하지 않고 수행 할 수 있습니다.


it쉘 내부를 사용하여 다음 20 개 결과를 반복 할 수 있습니다 . it"더 많음"이 표시되면 입력 하면 다음 20 개 항목이 표시됩니다.


항상 할 수 있습니다 :

db.foo.find().forEach(function(f){print(tojson(f, '', true));});

컴팩트 한 시야를 확보하십시오.

또한 find에서 반환 한 필드를 제한하는 것이 매우 유용하다는 것을 알았습니다.

db.foo.find({},{name:1}).forEach(function(f){print(tojson(f, '', true));});

foo에서 _id 및 name 필드 만 반환합니다.


~/.mongorc.js매번 기본 크기를 설정할 필요가 없도록 파일 을 만드는 것이 좋습니다 .

 # execute in your terminal
 touch ~/.mongorc.js
 echo 'DBQuery.shellBatchSize = 100;' > ~/.mongorc.js
 # add one more line to always prettyprint the ouput
 echo 'DBQuery.prototype._prettyShell = true; ' >> ~/.mongorc.js

다른 할 수있는 일에 대해 더 알고 싶다면이 기사를 참조하십시오 : http://mo.github.io/2017/01/22/mongo-db-tips-and-tricks.html


mongo 셸에서 반환 된 커서가 var 키워드를 사용하여 변수에 할당되지 않은 경우 쿼리와 일치하는 처음 20 개 문서까지 액세스하도록 커서가 자동으로 반복됩니다. DBQuery.shellBatchSize 변수를 설정하여 자동 반복 문서 수를 변경할 수 있습니다.

참조-https: //docs.mongodb.com/v3.2/reference/method/db.collection.find/

참고 URL : https://stackoverflow.com/questions/3705517/how-to-print-out-more-than-20-items-documents-in-mongodbs-shell

반응형