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

MongoDB에서 키를 알 수 없는 경우를 찾으십니까?

<시간/>

키를 알 수 없는 경우를 찾으려면 $addField 및 $objectToArray를 사용합니다. 먼저 문서로 컬렉션을 생성해 보겠습니다. −

> db.demo375.insertOne(... {... "details":{... "이름":"John",... "나이":23... }... }. .. );{ "승인됨" :true, "insertedId" :ObjectId("5e5a0ae42ae06a1609a00b06")}> db.demo375.insertOne(... {... "세부 정보":{... "이름":"데이비드 ",... "나이":21... }... }... );{ "승인됨" :true, "insertedId" :ObjectId("5e5a0ae42ae06a1609a00b07")}> db.demo375.insertOne(.. . {... "세부 정보":{... "이름":"데이비드",... "나이":22... }... }... );{ "확인됨" :true, " 삽입 ID" :ObjectId("5e5a0ae42ae06a1609a00b08")}

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo375.find();

이것은 다음과 같은 출력을 생성합니다 -

{ "_id" :ObjectId("5e5a0ae42ae06a1609a00b06"), "details" :{ "이름" :"John", "나이" :23 }" }{ "_id" :ObjectId("5e5a0ae42ae06a1609a00b06"), "details"a00b0 :{ "이름" :"데이비드", "나이" :21 } }{ "_id" :ObjectId("5e5a0ae42ae06a1609a00b08"), "details" :{ "이름" :"데이비드", "나이" :22 } } 

다음은 키를 알 수 없는 경우를 찾는 쿼리입니다. −

> db.demo375.aggregate([... { "$addFields":{... "UnknownKeys":{ "$objectToArray":"$$ROOT" }... }},... { "$match":{ "UnknownKeys.v.Name":"David" }},... { "$project":{ "UnknownKeys":0 }}... ])

이것은 다음과 같은 출력을 생성합니다 -

{ "_id" :ObjectId("5e5a0ae42ae06a1609a00b07"), "details" :{ "이름" :"데이비드", "나이" :21 } }{ "_id" :ObjectId("5e5a0ae42ae06a1609a00bdetails"), "details" :{ "이름" :"데이비드", "나이" :22 } }