mongodb 如何获得所有类别的一个特定的产品在蒙戈?

0qx6xfy6  于 2023-01-16  发布在  Go
关注(0)|答案(1)|浏览(147)

我有下一个疑问

db.test_products.find(
{ $text: { $search: 'Iphone 6' } },
{ score: { $meta: "textScore" } })
.sort({ score:{$meta: "textScore",  } })
.limit(20)

它为我提供了前20个产品,但我们有超过20个结果,我希望有所有类别的搜索词,所以接下来在UI上,我们将能够显示所有类别的搜索产品
预期输出应如下所示

{
    products: [{1...20}],
    categories: [
        "Mobile Phones",
        "Cellphones & Telecommunications/Phone Bags & Cases/Wallet Cases",
        "Cellphones & Telecommunications/Mobile Phone Parts/Mobile Phone Motherboards",
        "Cellphones & Telecommunications/Mobile Phone Parts/Mobile Phone LCD Screens",
        "...",
    ]
}

用Mongo写这样的查询应该是可以的,但是我现在不知道怎么写
注意:我现在有一个“标题”的文本索引,不确定如果我们决定使用带有realm的搜索索引来实现自动完成是否会有很大的区别
会很感激任何帮助!
dataset

zdwk9cvp

zdwk9cvp1#

您可以使用distinct获取给定查询的所有类别的唯一集合

db.test_products.distinct("category", { $text: { $search: 'Iphone 6' } })

相关问题