我对 mongodb 和查询语言很陌生。我有一个格式如下的集合。“信息”字段是一个对象数组。每个对象都有一个“类别”字符串和一个“desc”数组。查询输入是另一个“desc”数组 [L2, a2, b2]。我想运行一个查询,计算查询输入与 info 数组的每个对象中的每个 desc 之间的 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
]
}
]```