在mongoDB中不使用aggregate的ORDER BY FIELD

pbwdgjma  于 2023-10-16  发布在  Go
关注(0)|答案(2)|浏览(148)

我有办法在MongoDB中做ORDER BY FIELD吗?
在Mysql中,有这样的东西:

SELECT id, name, priority
FROM mytable
ORDER BY FIELD(priority, "core", "board", "other")

这在MongoDB中可以实现吗?
类似的查询是回答:How to ORDER BY FIELD VALUE in MongoDB但这并没有回答问题。
以上链接使用聚合函数。我想达到的是没有聚集和在发现的东西。

jtoj6r0c

jtoj6r0c1#

目前没有MongoDB只允许按照常规的升序和降序对字段进行排序。您不能给予自定义的优先级排序顺序或任何东西。
最接近的方法是使用聚合框架为字段赋值,以按照您想要的方式进行排序。虽然这不会很好地与大型查询,所以我不建议它。

wn9m85ua

wn9m85ua2#

是的MongoDB具有“Order By”功能,它是使用sort()实现的,请参阅下面的两个基本示例,了解如何用途:
db.collection.find({}).sort({"fieldName" : 1})
对于降序排序,用途:
db.collection.find({}).sort({"fieldName" : -1})

相关问题