кодесурса
«MongoDB

MongoDB: cursor.sort () метод

script1adsense2code
script1adsense3code

cursor.sort

Метод cursor.sort () используется для возврата результатов, упорядоченных в соответствии со спецификацией сортировки. Укажите в параметре сортировки поле или поля для сортировки и значение 1 или -1, чтобы указать сортировку по возрастанию или по убыванию соответственно.

Синтаксис:

 cursor.sort (сортировка)

Параметр:

название Описание Необходимые /
Необязательный
Тип
Сортировать Документ, который определяет порядок сортировки набора результатов. необходимые документ

Коллекция prod_master содержит следующие документы.


{ "_id" : 5, "item" : { "name" : "mango", "type" : "cortland" }, "cost" : 1.29 }
{ "_id" : 9, "item" : { "name" : "mango", "type" : "fuji" }, "cost" : 1.99 }
{ "_id" : 7, "item" : { "name" : "apple", "type" : "honey crisp" }, "cost" : 1.99 }
{ "_id" : 10, "item" : { "name" : "mango", "type" : "jonagold" }, "cost" : 1.29 }
{ "_id" : 1, "item" : { "name" : "banana", "type" : "jonathan" }, "cost" : 1.29 }
{ "_id" : 6, "item" : { "name" : "apple", "type" : "mcintosh" }, "cost" : 1.29 }
{ "_id" : 8, "item" : { "name" : "orange", "type" : "cara cara" }, "cost" : 2.99 }
{ "_id" : 4, "item" : { "name" : "apple", "type" : "navel" }, "cost" : 1.39 }
{ "_id" : 3, "item" : { "name" : "orange", "type" : "satsuma" }, "cost" : 1.99 }
{ "_id" : 2, "item" : { "name" : "banana", "type" : "valencia" }, "cost" : 0.99 }

Пример: MongoDB: cursor.sort () метод

Следующий запрос, который возвращает все документы из коллекции prod_master, не определяет порядок сортировки:

db.prod_master.find();

Запрос возвращает документы в неопределенном prod_master:


"_id" : 5, "item" : { "name" : "mango", "type" : "cortland" }, "cost" : 1.29 }
"_id" : 9, "item" : { "name" : "mango", "type" : "fuji" }, "cost" : 1.99 }
"_id" : 7, "item" : { "name" : "apple", "type" : "honey crisp" }, "cost" : 1.99 }
"_id" : 10, "item" : { "name" : "mango", "type" : "jonagold" }, "cost" : 1.29 }
"_id" : 1, "item" : { "name" : "banana", "type" : "jonathan" }, "cost" : 1.29 }
"_id" : 6, "item" : { "name" : "apple", "type" : "mcintosh" }, "cost" : 1.29 }
"_id" : 8, "item" : { "name" : "orange", "type" : "cara cara" }, "cost" : 2.99 }
"_id" : 4, "item" : { "name" : "apple", "type" : "navel" }, "cost" : 1.39 }
"_id" : 3, "item" : { "name" : "orange", "type" : "satsuma" }, "cost" : 1.99 }
"_id" : 2, "item" : { "name" : "banana", "type" : "valencia" }, "cost" : 0.99 }

Следующий запрос указывает сортировку в поле стоимости в порядке убывания.

db.prod_master.find().sort( { cost: -1 } )

Запрос возвращает следующие документы в порядке убывания стоимости:


> db.prod_master.find().sort( { cost: -1 } )
{ "_id" : 8, "item" : { "name" : "orange", "type" : "cara cara" }, "cost" : 2.99 }
{ "_id" : 9, "item" : { "name" : "mango", "type" : "fuji" }, "cost" : 1.99 }
{ "_id" : 7, "item" : { "name" : "apple", "type" : "honey crisp" }, "cost" : 1.99 }
{ "_id" : 3, "item" : { "name" : "orange", "type" : "satsuma" }, "cost" : 1.99 }
{ "_id" : 4, "item" : { "name" : "apple", "type" : "navel" }, "cost" : 1.39 }
{ "_id" : 5, "item" : { "name" : "mango", "type" : "cortland" }, "cost" : 1.29 }
{ "_id" : 10, "item" : { "name" : "mango", "type" : "jonagold" }, "cost" : 1.29 }
{ "_id" : 1, "item" : { "name" : "banana", "type" : "jonathan" }, "cost" : 1.29 }
{ "_id" : 6, "item" : { "name" : "apple", "type" : "mcintosh" }, "cost" : 1.29 }
{ "_id" : 2, "item" : { "name" : "banana", "type" : "valencia" }, "cost" : 0.99 }

Следующий запрос задает порядок сортировки, используя поля из встроенного элемента документа. Запрос сортируется сначала по полю имени в порядке возрастания, а затем по каждому имени по полю типа в порядке возрастания.

db.prod_master.find().sort( { "item.name": 1, "item.type": 1 } );

Запрос возвращает следующие документы, упорядоченные сначала по полю имени, а внутри каждого имени по полю типа:


> db.prod_master.find().sort( { "item.name": 1, "item.type": 1 } );
{ "_id" : 7, "item" : { "name" : "apple", "type" : "honey crisp" }, "cost" : 1.99 }
{ "_id" : 6, "item" : { "name" : "apple", "type" : "mcintosh" }, "cost" : 1.29 }
{ "_id" : 4, "item" : { "name" : "apple", "type" : "navel" }, "cost" : 1.39 }
{ "_id" : 1, "item" : { "name" : "banana", "type" : "jonathan" }, "cost" : 1.29 }
{ "_id" : 2, "item" : { "name" : "banana", "type" : "valencia" }, "cost" : 0.99 }
{ "_id" : 5, "item" : { "name" : "mango", "type" : "cortland" }, "cost" : 1.29 }
{ "_id" : 9, "item" : { "name" : "mango", "type" : "fuji" }, "cost" : 1.99 }
{ "_id" : 10, "item" : { "name" : "mango", "type" : "jonagold" }, "cost" : 1.29 }
{ "_id" : 8, "item" : { "name" : "orange", "type" : "cara cara" }, "cost" : 2.99 }
{ "_id" : 3, "item" : { "name" : "orange", "type" : "satsuma" }, "cost" : 1.99 }

Получить данные о ресторанах здесь

Предыдущий: cursor.skip () метод
Далее: метод cursor.toArray ()

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code