Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

find()를 사용하여 MongoDB에서 중첩 키를 검색하시겠습니까?

<시간/>

find()가 MongoDB에서 중첩 키를 검색하려면 점(.) 표기법을 사용할 수 있습니다. 다음은 구문입니다.

db.yourCollectionName.find({"yourOuterFieldName.yourInnerFieldName":"yourValue"}).pretty();

먼저 문서로 컬렉션을 생성해 보겠습니다.

>db.searchForNestedKeysDemo.insertOne({"ClientName":"Larry","ClientAge":28,"ClientExtraDetails":{"isEducated":true,"CountryName":"US"}});{ "확인됨 " :true, "insertedId" :ObjectId("5ca20e8b66324ffac2a7dc64")}>db.searchForNestedKeysDemo.insertOne({"ClientName":"Chris","ClientAge":29,"ClientExtraDetails":{"isEducated":false, ":"UK"}});{ "승인됨":true, "insertedId":ObjectId("5ca20ea366324ffac2a7dc65")}>db.searchForNestedKeysDemo.insertOne({"ClientName":"David","ClientAge":39," ClientExtraDetails":{"isEducated":true,"CountryName":"AUS"}});{ "승인됨":true, "insertedId":ObjectId("5ca20eba66324ffac2a7dc66")}

다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다.

> db.searchForNestedKeysDemo.find().pretty();

그러면 다음과 같은 출력이 생성됩니다.

{ "_id":ObjectId("5ca20e8b66324ffac2a7dc64"), "ClientName":"Larry", "ClientAge":28, "ClientExtraDetails":{ "isEducated":true, "CountryName":"US" }}{ "_id":ObjectId("5ca20ea366324ffac2a7dc65"), "ClientName":"Chris", "ClientAge":29, "ClientExtraDetails":{ "isEducated":false, "CountryName":"UK" }}{ "_id":ObjectId("5ca20eba66324ffac2a7dc66"), "ClientName":"David", "ClientAge":39, "ClientExtraDetails":{ "isEducated":true, "CountryName":"AUS" }}

다음은 MongoDB에서 중첩된 키를 검색하는 쿼리입니다.

> db.searchForNestedKeysDemo.find({"ClientExtraDetails.CountryName":"영국"}).pretty();

그러면 다음과 같은 출력이 생성됩니다.

{ "_id" :ObjectId("5ca20ea366324ffac2a7dc65"), "ClientName" :"Chris", "ClientAge" :29, "ClientExtraDetails" :{ "isEducated" :false, "CountryName" :"UK" }}