В моем случае я использую MongoDB для хранения целого ряда продуктов из 50 стран, запись в БД выглядит примерно так:
{
_id: xxxxxxxxxxxxxxx,
country: 'au',
title: 'Equipment X',
price: 1000,
},
{
_id: xxxxxxxxxxxxxxy,
country: 'us',
title: 'Equipment Y',
price: 1000,
},
...
...
Я хотел бы знать, возможно ли вообщезапросить все продукты и отсортировать по стране с au FIRST, затем остальные продукты после этого.Простая сортировка MongoDB, кажется, сортируется только по ключу.Если это возможно, включает ли это карту / уменьшить?
Редактировать: более подробный пример
Документы в коллекции:
{ country:'cn', title:'Equipment A', price:'100'},
{ country:'au', title:'Equipment B', price:'100'},
{ country:'za', title:'Equipment C', price:'100'},
{ country:'us', title:'Equipment D', price:'100'},
{ country:'nz', title:'Equipment E', price:'100'},
{ country:'it', title:'Equipment F', price:'100'},
{ country:'nz', title:'Equipment G', price:'100'},
{ country:'au', title:'Equipment H', price:'100'},
IЯ ищу вид, который вернет продукты из nz , чтобы они были наверху, а затем следуют за всеми другими продуктами, как это:
{ country:'nz', title:'Equipment E', price:'100'},
{ country:'nz', title:'Equipment G', price:'100'},
{ country:'au', title:'Equipment B', price:'100'},
{ country:'au', title:'Equipment H', price:'100'},
{ country:'cn', title:'Equipment A', price:'100'},
{ country:'it', title:'Equipment F', price:'100'},
{ country:'us', title:'Equipment D', price:'100'},
{ country:'za', title:'Equipment C', price:'100'},