在 MongoDB 中,一个字段可以有多个值(值的数组)。它们中的每一个都被索引,因此您可以过滤任何值。但是您也可以“排序”具有多个值的字段吗?结果是什么?
更新:
> db.test.find().sort({a:1})
{ "_id" : ObjectId("4f27e36b5eaa9ebfda3c1c53"), "a" : [ 0 ] }
{ "_id" : ObjectId("4f27e3845eaa9ebfda3c1c54"), "a" : [ 0, 1 ] }
{ "_id" : ObjectId("4f27df6e5eaa9ebfda3c1c4c"), "a" : [ 1, 1, 1 ] }
{ "_id" : ObjectId("4f27df735eaa9ebfda3c1c4d"), "a" : [ 1, 1, 2 ] }
{ "_id" : ObjectId("4f27df795eaa9ebfda3c1c4e"), "a" : [ 2, 1, 2 ] }
{ "_id" : ObjectId("4f27df7f5eaa9ebfda3c1c4f"), "a" : [ 2, 2, 1 ] }
{ "_id" : ObjectId("4f27df845eaa9ebfda3c1c50"), "a" : [ 2, 1 ] }
{ "_id" : ObjectId("4f27e39a5eaa9ebfda3c1c55"), "a" : [ 2 ] }
对于长度不等的数组,较长的数组比较短的数组“低”
那么,为什么 [0] 在 [0,1] 之前,而 [2] 在 [2,1] 之后?可能只对第一个数组元素进行排序吗?还是最低的?然后是插入顺序?
此外,在索引扫描(与表扫描相反)的情况下如何实现?