我有办法在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但这并没有回答问题。
以上链接使用聚合函数。我想达到的是没有聚集和在发现的东西。
我有办法在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但这并没有回答问题。
以上链接使用聚合函数。我想达到的是没有聚集和在发现的东西。
2条答案
按热度按时间jtoj6r0c1#
目前没有MongoDB只允许按照常规的升序和降序对字段进行排序。您不能给予自定义的优先级排序顺序或任何东西。
最接近的方法是使用聚合框架为字段赋值,以按照您想要的方式进行排序。虽然这不会很好地与大型查询,所以我不建议它。
wn9m85ua2#
是的MongoDB具有“Order By”功能,它是使用
sort()
实现的,请参阅下面的两个基本示例,了解如何用途:db.collection.find({}).sort({"fieldName" : 1})
对于降序排序,用途:
db.collection.find({}).sort({"fieldName" : -1})