我有办法在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
中回答了类似的问题这使用聚合函数。我想要的是没有聚合和查找内容。
答案 0 :(得分:2)
目前不是。 MongoDB只允许按正常的旧升序和降序对字段进行排序。您无法提供优先级或任何内容的自定义排序顺序。
最接近的是使用聚合框架为字段分配值以按您希望的方式排序。虽然这对大型查询不起作用,所以我不推荐它。
答案 1 :(得分:1)
是MongoDB具有“排序依据”功能,使用sort()
实现了以下两个如何使用的原始示例:
db.collection.find({}).sort({"fieldName" : 1})
对于降序排序:
db.collection.find({}).sort({"fieldName" : -1})