이 구조의 문서가 있습니다.
{
"_id": 5863635009,
"players": [{
"hero_id": 10,
"slot": 132
}, {
"hero_id": 16,
"slot": 131
}, {
"hero_id": 1,
"slot": 130
}, {
"hero_id": 7,
"slot": 129
}, {
"hero_id": 75,
"slot": 128
}, {
"hero_id": 21,
"slot": 4
}, {
"hero_id": 123,
"slot": 3
}, {
"hero_id": 114,
"slot": 2
}, {
"hero_id": 68,
"slot": 1
}, {
"hero_id": 84,
"slot": 0
}]
}
두 명의 특정 영웅이 있고 그중 하나는 슬롯 <= 127이고 다른 하나는 슬롯> = 128이어야하는 모든 문서를 찾아야합니다 (동시에 슬롯 <= 127 또는> = 128을 가질 수 없음).
예를 들어 hero_id 10과 114를 검색합니다. hero_id = 10에는 슬롯 <= 127, hero_id = 114 슬롯> = 128 또는 hero_id = 10에는 슬롯> = 128, hero_id = 114 슬롯 <= 127
Mongo를 처음 사용하기 때문에 이보다 더 나아가고 슬롯 조건에 대한 수동 결과를 확인하는 방법을 잘 모르겠습니다.
{players : {$elemMatch: {hero_id : 10, hero_id : 114} }}
쿼리 내에서 할 수 있습니까?
mongo 쿼리 laguage에 대한 문자 번역 :
db.collection.find({
$or: [
{
"$and": [
{
"players": {
"$elemMatch": {
"hero_id": 10,
"slot": { "$lte": 127 }
}
}
},
{
"players": {
"$elemMatch": {
"hero_id": 114,
"slot": { "$gte": 128 }
}
}
}
]
},
{ the alternative "or" condition goes here. It is very similar}
]
})
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다