Сортировка на основе зависимости двух полей в MongoDB

stack спросил: 03 ноября 2018 в 08:54 в: mongodb

Я получаю данные из базы данных MongoDB. В объекте данных есть три поля _id, order, parent. это выглядит как

{
  "_id" : 1,
  "parent" : 0,
  "order" : 1,
}
{
  "_id" : 2, 
  "parent" : 0,
  "order" : 2,
}
{
  "_id" : 3,
  "parent" : 5,
  "order" : 1,
}
{
  "_id" : 4,
  "parent" : 5,
  "order" : 2,
}
{
  "_id" : 5,
  "parent" : 0,
  "order" : 3,
}
{
  "_id" : 6,
  "parent" : 2,
  "order" : 1,
}
{
  "_id" : 7,
  "parent" : 2,
  "order" : 2,
}

Использование запроса сортировки в оболочке MongoDB также приведет к тому же результату.

 db.menu.find().sort({_id:1,parent:1,order:1}).pretty()

Ожидаемый результат: это: -

{
  "_id" : 1,
  "parent" : 0,
  "order" : 1,
}
{
  "_id" : 2, 
  "parent" : 0,
  "order" : 2,
}
{
  "_id" : 6,
  "parent" : 2,
  "order" : 1,
}
{
  "_id" : 7,
  "parent" : 2,
  "order" : 2,
}
{
  "_id" : 5,
  "parent" : 0,
  "order" : 3,
}
{
  "_id" : 3,
  "parent" : 5,
  "order" : 1,
}
{
  "_id" : 4,
  "parent" : 5,
  "order" : 2,
}

С помощью какого запроса я должен получить ожидаемый результат?

0 ответов