MongoDB最佳匹配过滤器

MongoDB最佳匹配过滤器,mongodb,mongodb-query,Mongodb,Mongodb Query,我有一个关于MongoDB中过滤的问题 我正在将面大小参数作为(键、值)添加到DB中。 稍后,我想在数据库中的新面和已有面之间找到匹配项。我想搜索该值并获得最佳匹配面。例如,如果my(key,value)是(face,100),并且没有精确匹配。给我最接近的结果,它可能是(脸,88)或(脸,110)。 非常感谢浮点值的最佳匹配可能是: db.collection.find({floatVal : {$gte : 1.0}).sort(floatVal : 1).limit(1) 如果你想从两个

我有一个关于MongoDB中过滤的问题

我正在将面大小参数作为(键、值)添加到DB中。 稍后,我想在数据库中的新面和已有面之间找到匹配项。我想搜索该值并获得最佳匹配面。例如,如果my(key,value)是(face,100),并且没有精确匹配。给我最接近的结果,它可能是(脸,88)或(脸,110)。
非常感谢

浮点值的最佳匹配可能是:

db.collection.find({floatVal : {$gte : 1.0}).sort(floatVal : 1).limit(1)

如果你想从两个方面看问题,问题会变得更难,但是如果使用
$cond

这个问题本身就有点“模糊”,那么这应该是可能的。你能更具体地说明你的情况吗?你看到的是一组相当标准的数据库查询操作符,但没有任何东西表明我们不能“暴力”计算。Neil我有带键和值的文档,我想用某些键和值运行搜索,但如果没有精确匹配,请给我最接近我搜索的值的结果。基本上它被称为最佳匹配。它可以是较高的数字或较低的数字,但我想得到最接近的数字。例如,我正在搜索值“facesize”:100给出所有与100最接近的面,可以是88或110,但我想在数据库中找到最接近的面。您能否编辑您的问题,并为我们提供一个清晰的示例,说明您需要匹配的真实情况?刚发表评论,然后我说“蛮力”计算,然后排序的“差异”。但是,如果你花时间解释一个真实世界的案例,那么可能会有一个合理且更优雅的解决方案。我已经编辑了这个问题。许多感谢可能重复的感谢:-)我会尝试并让你知道