Заказ по запросу - PullRequest
       1

Заказ по запросу

1 голос
/ 07 февраля 2011

Можно ли вернуть документы в том порядке, в котором они были запрошены, если использовать $ in и искать _id? Есть ли в любом случае сортировать вывод по порядку в запросе?

Из документации есть пример, подобный этому:

db.things.find ({j: {$ in: [4,2,6]}});

Итак, давайте предположим, что нам нужен этот запрос:

db.things.find ({_ id: {$ in: [4,2,6]}});

и результат должен быть упорядочен на 4,2,6 (идентификаторы документа, в порядке в массиве в запросе).

Ответы [ 2 ]

3 голосов
/ 07 февраля 2011

Некоторые подробности могут помочь ... но .sort () должно помочь ...

Вы можете использовать его несколькими способами, например ORDER BY в SQL ...

Сортировка по FirstName по убыванию ( -1 ) по возрастанию будет ( 1 ) ...

> db.myCollection.find().sort({ "FirstName" : 1 });

Или используя " естественный порядок " ...

Естественный порядок "определяется как собственная база данных объектов в базе данных в коллекции.

При выполнении find () без параметры, база данных возвращает объекты в прямом естественном порядке.

Итак ...

> db.myCollection.sort({$natural:-1})

При заказе по _id следует учитывать дату и время, встроенные в _id (при использовании MongoDB ObjectID ) ...

0 голосов
/ 26 мая 2014

также может сделать это

db.things.find ({_ id: {$ in: [4,2,6]}}). Sort ({_ id: 1});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...