Mongo에서 .find ()를 수행 할 때 .findOne ()을 수행하는 것과 동일한 결과를 표시하려면 어떻게해야합니까?
findOne()
예쁘게 인쇄 된 json 객체가 생성됩니다.
find()
결과적으로 json 객체가 손상됩니다.
mongo 셸에 표시 할 때 find()
와 동일 하게 만들 수 findOne()
있습니까?
javascript를 사용하여 스크립팅하는 경우 dcrosta의 답변을 사용할 수 있습니다. 그러나 mongo 대화 형 쉘에 직접 예쁜 인쇄를하려면 find () 쿼리에 pretty ()를 추가해야합니다.
셸에 다음을 입력합니다. db.yourcollection.find().pretty()
find()
supports forEach()
에서 반환 한 커서 개체 이므로 다음을 사용할 수 있습니다.
db.foo.find().forEach(printjson)
그러나 find()
처음 10 개의 객체를 표시 하는 기본 출력과 달리 반복을 계속할지 여부를 선택할 수 있도록 forEach()
하면 전체 결과 집합이 반복됩니다. 따라서 쿼리가 많은 결과를 반환하는 경우 시간이 오래 걸리고별로 도움이되지 않을 수 있습니다. limit()
여기 당신의 친구입니다.
을 사용하면 이미 정답이 제공됩니다 .pretty()
.
그러나 참고로 커서에서 .toArray ()를 호출하여 문서를 JSON의 javascript 배열로 가져올 수도 있습니다.
db.foo.find().toArray()
편리한 mongo-shell 인핸서 mongo-hacker ( http://mongodb-tools.com/tool/mongo-hacker/ )를 사용하면 더 멋진 일을 할 수 있습니다.
- Developper 사이트 : http://tylerbrock.github.io/mongo-hacker/
- Github 저장소 : https://github.com/TylerBrock/mongo-hacker
질문을 받았을 당시에는 사용할 수 없었을 수도 있지만 모든 find()
쿼리에 대한 기본 출력을 예쁘게 만들기 위해 다음을 사용합니다.
DBQuery.prototype._prettyShell = true
또한 다음을 추가합니다.
DBQuery.prototype.ugly = function() {
this._prettyShell = false;
return this;
}
이를 통해 find()
다음을 사용하여 단일 쿼리 의 결과를 uglify 할 수 있습니다 .
db.mycollection.find().ugly()
일반적으로 ~/.mongorc.js
모든 mongo cli 셸에서 사용할 수 있도록 두 프로토 타입 선언을 파일에 추가합니다 .
'Nice programing' 카테고리의 다른 글
Eclipse 문제보기가 더 이상 오류를 표시하지 않음 (0) | 2020.11.03 |
---|---|
shared_ptr 및 weak_ptr 차이점 (0) | 2020.11.03 |
창을 닫을 때 JavaFX 응용 프로그램을 닫는 방법은 무엇입니까? (0) | 2020.11.03 |
SQL Server에서 테이블 및 인덱스 저장소 크기 가져 오기 (0) | 2020.11.03 |
Xamarin에서 OutOfMemoryException 가져 오기 (0) | 2020.11.03 |