我正在考虑使用MongoDB存储包含键/值对列表的文档。安全但不够优美和臃肿的存储方式是
[ ['k1' : 'v1'] , ['k2' : 'v2'], ...]
但是文档元素在底层 BSON 数据结构中具有固有的顺序,因此从原理上讲:
{k1 : 'v1',
k2 : 'v2', ...}
应该足够了。然而,我预计大多数语言绑定将会将它们解释为关联数组,从而可能会打乱顺序。因此,我需要知道:
- MongoDB本身是否承诺保留第二种形式的项目顺序。
- 语言绑定是否有一些API可以提取其有序形式 -- 即使通常的“便捷”API返回一个关联数组。
我主要对JavaScript和PHP感兴趣,但我也想了解其他语言。任何帮助都将不胜感激,或者只是一个链接,让我可以去RTM。