다음 상황에 대한 전문 지식이 필요합니다.가장 일치하는 요소로 MongoDB 배열 및 정렬 쿼리
"array" : {
"item" : 1,
"1" : [100, 130, 255],
}
"array" : {
"item" : 2,
"1" " [0, 70, 120],
}
"array" : {
"item" : 3,
"1" : [100, 90, 140],
}
나는 등이 컬렉션을 쿼리하고있다 :이 나에게 항목 번호 1과 3을 반환
db.test.find(array.1 : {$in : [100, 80, 140]});
가 제공 배열의 모든 값을 일치하기 때문에
나는 등의 컬렉션이 있습니다 컬렉션에있는 것들과. 그러나 좀 더 비슷한 숫자의 결과를 얻기 위해이 배열을 정렬하고 싶습니다. 결과는 항목 3과 항목 1이어야합니다.
그러나 결과를 잡고 k- 가장 가까운 이웃 알고리즘을 사용하여 배열을 정렬 할 수 있습니다. 그러나 거대한 데이터 세트를 다루는 것은 매우 바람직하지 않습니다. (또는 그럴까요?) MongoDB 내에 어떤 기능이 있습니까? 자바를 사용하고 있는데,이 알고리즘을 충분히 빠르게 구현하려면 어떤 알고리즘이 필요합니까? 도움을 주시면 감사하겠습니다.
감사합니다.
+1 - Aggregation Framework의 사용법이 좋습니다. :) – Stennie
안녕하세요, 감사합니다. @Stennie - 아마도 $ cond' 표현식에 '$ in'기능을 요청해야합니다. 이것은 훨씬 더 깨끗합니다! –
아직 '$ in'에 대한 요청이 보이지 않으므로 추가하십시오. – Stennie