【发布时间】:2021-12-09 15:43:09
【问题描述】:
我有多个文档,需要在排序字段名称未知时对文档进行排序,如果输入搜索字段与文档中的任何一个匹配,则对文档进行排序,并根据最佳结果进行排序。并且搜索输入也不是确切的名称,它可能是正则表达式 样本数据:
[
{
"cat_id":1,
"categoryCode":"categoryCode1",
"categoryName":"categoryName1",
"cat_type":"A",
"description":"Mens Upper Shirt"
},
{
"cat_id":2,
"categoryCode":"categoryCode2",
"categoryName":"categoryName2",
"cat_type":"A",
"description":"Shirt"
},
{
"cat_id":3,
"categoryCode":"categoryCode3",
"categoryName":"categoryName3",
"cat_type":"Women Top wear",
"description":"cloths"
},
{
"cat_id":4,
"categoryCode":"categoryCode4",
"categoryName":"categoryName4",
"cat_type":"A",
"description":"Women"
}
]
如果 search='Shirt' 那么响应是:
[
{
"cat_id":2,
"categoryCode":"categoryCode2",
"categoryName":"categoryName2",
"cat_type":"A",
"description":"Shirt"
},
{
"cat_id":1,
"categoryCode":"categoryCode1",
"categoryName":"categoryName1",
"cat_type":"A",
"description":"Mens Upper Shirt"
}
]
如果 search='Women Top Wear' 那么响应是:
[
{
"cat_id":3,
"categoryCode":"categoryCode3",
"categoryName":"categoryName3",
"cat_type":"Women Top wear",
"description":"cloths"
},
{
"cat_id":4,
"categoryCode":"categoryCode4",
"categoryName":"categoryName4",
"cat_type":"A",
"description":"Women"
}
]
当您必须搜索的任何输入时,它将检查该值是否存在于所有 5 个属性中(如果存在),然后返回该文档并按最佳匹配排序
【问题讨论】:
标签: mongodb mongoose mongodb-query aggregation-framework spring-data-mongodb