Может ли MongoDB и его драйверы сохранять порядок элементов документа

Я рассматриваю возможность использования MongoDB для хранения документов, содержащих список пар ключ / значение. Безопасный, но уродливый и раздутый способ сохранить это как

[ ['k1' : 'v1'] , ['k2' : 'v2'],  ...]

. Но элементы документа по своей сути упорядочены в базовой структуре данных BSON, поэтому в принципе:

{k1 : 'v1', 
 k2 : 'v2',  ...}

должно быть достаточно. Однако я ожидаю, что большинство языковых привязок будут интерпретировать их как ассоциативные массивы и, таким образом, потенциально могут нарушить порядок. Итак, что мне нужно знать:

  • Обещает ли MongoDB сохранить порядок элементов во второй форме.
  • Есть ли у языковых привязок некоторый API, который может извлекать его упорядоченную форму - даже если обычный «удобный» API возвращает ассоциативный массив.

Меня здесь больше всего интересуют Javascript и PHP, но я также хотел бы узнать о других языках. Приветствуется любая помощь или просто ссылка на документацию, по которой я могу перейти на RTM.

13
задан Funk Forty Niner 5 May 2017 в 21:50
поделиться