在 mongoDB 中按字段排序而不使用聚合[重复]

问题描述 投票:0回答:2

我有办法在 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但这并没有回答问题。

上面的链接使用了聚合函数。我想要实现的目标是没有聚合,而有find。

mongodb mongodb-query
2个回答
3
投票

目前还没有。 MongoDB 只允许按正常的旧升序和降序对字段进行排序。您不能给出自定义的优先级排序顺序或任何内容。

最接近的是使用聚合框架为字段分配值以按照您想要的方式进行排序。虽然这对于大型查询来说效果不佳,所以我不推荐它。


0
投票

是的,MongoDB 具有“排序依据”功能,它是使用

sort()
实现的,请参阅下面的两个原始示例来了解如何使用:

db.collection.find({}).sort({"fieldName" : 1})

对于降序排序使用:

db.collection.find({}).sort({"fieldName" : -1})

© www.soinside.com 2019 - 2024. All rights reserved.