MongoDB:按数组索引排序

ced*_*d-b 5 arrays sorting mongodb

我有一个包含数组列表的数组字段的文档,我想按数组中的第一个元素排序.

{
   field1 : "bla",
   field2 : "bla",
   field3 : "bla",
   someArray : [123, 456, 789]
}
Run Code Online (Sandbox Code Playgroud)

我试图像这样查询:

db.testCollection.find({}).sort({"someArray[0]" : 1})
Run Code Online (Sandbox Code Playgroud)

但这似乎没有任何影响,排序被忽略.

有什么办法可以做到吗?

Aer*_*diR 9

是的,按someArray递增顺序的第一个元素对集合进行排序的方法是:

db.testCollection.find().sort({"someArray.0": 1})
Run Code Online (Sandbox Code Playgroud)

这里不需要聚合框架.你非常接近!