Как я могу выразить уравнение l2norm в запросе mongodb во встроенном массиве?

Я очень новичок в mongodb и языках запросов в целом. У меня есть коллекция в формате ниже. Поле «информация» представляет собой массив объектов. Каждый объект имеет строку «category» и массив desc. Входными данными запроса является еще один массив desc [L2, a2, b2]. Я хочу запустить запрос, который вычисляет расстояние L2norm между вводом запроса и каждым описанием в каждом объекте информационного массива, и я хочу вернуть документ, если какой-либо результат расстояния для этого документа меньше или равен 15.

Это уравнение l2norm:sqrt((L2 - L1) ** 2 + (a2 - a1) ** 2 + (b2 - b1) ** 2).

Я использовал конвейеры агрегации, но они не работают, и я застрял. Буду признателен за помощь.

      '_id': 1,
'info': [
    {
        "category":"x",
        "desc":[
            L1,
            a1,
            b1
        ]
    },
    {
        "category":"y",
        "desc":[
            L1,
            a1,
            b1
        ]
    }
]```

0 ответов

Другие вопросы по тегам