在mongoDB中按字段顺序而不使用聚合

时间:2016-03-09 16:06:55

标签: mongodb mongodb-query

我有办法在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 个答案:

答案 0 :(得分:2)

目前不是。 MongoDB只允许按正常的旧升序和降序对字段进行排序。您无法提供优先级或任何内容的自定义排序顺序。

最接近的是使用聚合框架为字段分配值以按您希望的方式排序。虽然这对大型查询不起作用,所以我不推荐它。

答案 1 :(得分:1)

是MongoDB具有“排序依据”功能,使用sort()实现了以下两个如何使用的原始示例:

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

对于降序排序:

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