다음 실행 나는 내 컬렉션에 기록을하고 난 ID 1.하지만 1mongodb에서 일치하는 레코드를 찾는 방법은 무엇입니까?
db.mycollection.insert({"person" : [ { "id":1, "details" : { "name" : "Aswini", "Age" : 10 }}, { "id":2, "details" : { "name" : "Mahesh", "Age" : 11}}]})
대신에 2 회에 대한 세부 정보를 얻고있는 사람의 정보를 가져 오기 할
> db.mycollection.findOne({"person.id":1},{"person.details":1,"_id":0})
{
"person" :
[
{
"details" :
{
"name" : "Aswini",
"Age" : 10
}
},
{
"details" :
{
"name" : "Mahesh",
"Age" : 11
}
}
]
}
그러나 다음과 같이 I이 필요합니다 :
결과입니다
{
"person" : [
{
"details" : {
"name" : "Aswini",
"Age" : 10
}
}
]
}
어디에서 실수하는지 이해하지 마십시오. 도움이 필요해. MongoDB, Java를 사용하고 있습니다.
처럼 될 수있다,
그래서 당신이 처리 할 수있는 스키마를 redesgin해야 (당신이 정말로 기능이 필요한 경우 투표 로그인 해주세요). op는 첫 번째 요소를 원하지 않으므로 위치와 관계없이 일치하는 하위 배열을 검색하려고합니다. person.id 하위 문서가 쿼리 위의 마지막 위치에있는 경우 woek이 표시되지 않습니다. – RameshVel
당신은 절대적으로 옳습니다. 인덱스와 관계없이 하위 배열을 원합니다. 어떤 해결책이 있다면 mongodb에 초보자입니다. – aswininayak