Как отсортировать документы в mongoDB? - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть коллекция, как показано ниже

{
  _id: ObjectId('1asad23dsa45'),
  name: 'demo',
  addedOn: 1550228980162, // this is timestamp
},
{
  _id: ObjectId('12das34fda6'),
  name: 'demo2',
  addedOn: 1550228980156, // this is timestamp
},
{
  _id: ObjectId('12asd34fs6dfa'),
  name: 'demo3',
  addedOn: 1550228980160, // this is timestamp
}

Я хочу обновить все документы таким образом, чтобы все сортировалось по ключу отметки времени

, поэтому после обновления документ может выглядеть следующим образом

{
  _id: ObjectId('1asad23dsa45'),
  name: 'demo',
  addedOn: 1550228980162, // this is timestamp
},
{
  _id: ObjectId('12asd34fs6dfa'),
  name: 'demo3',
  addedOn: 1550228980160, // this is timestamp
},
{
  _id: ObjectId('12das34fda6'),
  name: 'demo2',
  addedOn: 1550228980156, // this is timestamp
}

1 Ответ

0 голосов
/ 15 февраля 2019

Нет способа сделать то, что вы просите.Вы не можете гарантировать порядок обновлений при записи данных.

Однако вы всегда можете использовать sort при чтении данных и подготовке запросов.

//Sort by descending
db.Collection.find().sort( { addedOn: -1 } )

//Sort by ascending
db.Collection.find().sort( { addedOn: 1 } )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...