存储在MongoDB中的数组是否保持其顺序?

时间:2012-01-26 04:23:06

标签: mongodb

简单的问题,当存储在MongoDB中时,数组是否保持其顺序?

4 个答案:

答案 0 :(得分:59)

是的MongoDB保持数组的顺序..就像Javascript引擎..

答案 1 :(得分:10)

是的,事实上,通过快速谷歌搜索这个主题,似乎很难重新订购它们:http://groups.google.com/group/mongodb-user/browse_thread/thread/1df1654889e664c1

答案 2 :(得分:3)

我意识到这是一个老问题,但是Mongo docs do now specify that all document properties retain their order as they are inserted。这自然也扩展到数组。

  

文件字段顺序

     

MongoDB在写操作之后保留文档字段的顺序,但以下情况除外:

     
      
  • _id字段始终是文档中的第一个字段。
  •   
  • 包括重命名字段名称的更新可能会导致文档中字段的重新排序。
  •   
     

在2.6版中更改:从版本2.6开始,MongoDB会主动尝试保留文档中的字段顺序。在2.6版之前,MongoDB没有主动保留文档中字段的顺序。

答案 3 :(得分:0)

是的,Array本质上是一种数据结构,其中每个元素保持其位置(由索引指示)。否则索引将没有意义。

https://en.wikipedia.org/wiki/Array_data_structure