MongoDB 쿼리 중첩 개체

오늘 튜토리얼에서는 MongoDB에서 중첩 객체를 쿼리하는 방법을 배웁니다.
MongoDB에서 중첩된 개체 쿼리
MongoDB는 컬렉션에서 포함되거나 중첩된 데이터를 검색하거나 포함되거나 중첩된 문서를 검색하는 읽기 작업을 제공합니다.
db.collection.find()
메서드를 사용하여 읽기 작업을 수행할 수 있습니다. 이 메서드는 포함되거나 중첩된 컬렉션에서 문서를 선택한 다음 해당 문서에 커서를 반환합니다.
통사론:
>db.collection.find($filter, $projection)
find()
메서드에는 $filter
및 $project
의 두 가지 옵션이 있으며 아래에 간략하게 설명되어 있습니다.
-
$filter
옵션문서
유형 매개변수를 사용하여 문서를 제외할 수 있습니다. 또한 컬렉션의 모든 문서에 액세스하려는 경우 빈 문서와 함께 사용하거나 이러한 매개 변수 없이 사용할 수 있습니다. -
$project
옵션이 인수를 사용하면 제공된 쿼리 필터를 충족하는 특정 필드만 문서에 가져올 수 있습니다. 그러나 물론 문서의 모든 필드를 가져오려면 이 매개변수를 생략할 수도 있습니다.
이 메서드는 제공된 쿼리 기준과 일치하는 문서에 커서를 반환합니다. find()
메서드는 사용할 때 문서를 반환하므로 사용할 때 문서에 대한 포인터를 반환합니다.
find()
메서드에 대한 자세한 내용은 여기에서 확인할 수 있습니다. 다음 예를 사용하여 개념을 이해해 보겠습니다.
> db.users.find({address: {country: "United Kingdom"}}).pretty()
> db.users.find({address.country: "United Kingdom"}).pretty()
위의 코드는 영국
에서 온 모든 사용자
를 찾기 위해 예쁜 기술을 사용했습니다.
이 두 접근 방식의 주요 차이점은 이전 주소 확인에는 { country: ... }
필드만 포함되고 후자는 address
를 고려한다는 것입니다.
주소
의 다른 필드 또는 주소
에서 누락된 필드는 국가
필드에 영향을 주지 않습니다. 예를 들어 MongoShell
에서 위의 코드를 실행한 후 다음 출력이 표시됩니다.
출력:
{ "_id" : ObjectId("54f612b6029b47909a90cesd"), "email" : "johndoe@example.com", "comment" : "This is the first user in the collection.", "country" : "United Kingdom" }
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn