특정 값을 가진 필드 이름으로 문서를 찾으려면 $exists 연산자를 사용할 수 있습니다. 문서로 컬렉션을 만들자
> db.findByFieldName.insertOne( { "Client":{ "ClientDetails":{ "ClientName":"Larry", "ClientAge":29 }, "ClientProjectDetails":{ "ProjectName":"Online Book Store", "TeamSize":10, "TechnologyUsed":"Spring Boot" } } } );
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9e93b2d628fa4220163b64")
}
> db.findByFieldName.insertOne({
... " Client":{
... " ClientDetails":{
... " ClientName":"Chris",
... " ClientAge":27
... },
... "ClientEducationDetails":{
... " isEducated":true,
... "CollegeName":"M.I.T."
...
... }
... }
... }
... );
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9e9421d628fa4220163b65")
} 다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다.
> db.findByFieldName.find().pretty();
그러면 다음과 같은 출력이 생성됩니다.
{
"_id" : ObjectId("5c9e93b2d628fa4220163b64"),
"Client" : {
"ClientDetails" : {
"ClientName" : "Larry",
"ClientAge" : 29
},
"ClientProjectDetails" : {
"ProjectName" : "Online Book Store",
"TeamSize" : 10,
"TechnologyUsed" : "Spring Boot"
}
}
}
{
"_id" : ObjectId("5c9e9421d628fa4220163b65"),
"Client" : {
"ClientDetails" : {
"ClientName" : "Chris",
"ClientAge" : 27
},
"ClientEducationDetails" : {
"isEducated" : true,
"CollegeName" : "M.I.T."
}
}
} 다음은 필드명으로 문서를 찾는 쿼리입니다.
> db.findByFieldName.find({"Client.ClientProjectDetails":{$exists: true}}).pretty(); 그러면 다음과 같은 출력이 생성됩니다.
{
"_id" : ObjectId("5c9e93b2d628fa4220163b64"),
"Client" : {
"ClientDetails" : {
"ClientName" : "Larry",
"ClientAge" : 29
},
"ClientProjectDetails" : {
"ProjectName" : "Online Book Store",
"TeamSize" : 10,
"TechnologyUsed" : "Spring Boot"
}
}
}