Здесь я хочу сделать запрос, который связывает данные в соответствии с parent
.Я получаю объекты ниже:
{
"_id" : 1,
"name" : "home",
"slug" : "home",
"parent" : 0,
"description" : "this will direct you on home page",
"order" : 1,
"taxonomy" : "nav_bar"
}
{
"_id" : 2,
"name" : "Links",
"slug" : "links",
"parent" : 0,
"description" : "this will direct you on home page",
"order" : 2,
"taxonomy" : "nav_bar"
}
{
"_id" : 3,
"name" : "Link1",
"slug" : "link1",
"parent" : 2,
"description" : "this will direct you on home page",
"order" : 1,
"taxonomy" : "nav_bar"
}
{
"_id" : 4,
"name" : "Link2",
"slug" : "link2",
"parent" : 2,
"description" : "this will direct you on home page",
"order" : 2,
"taxonomy" : "nav-bar"
}
{
"_id" : 5,
"name" : "extra Link",
"slug" : "extra-link",
"parent" : 0,
"description" : "this will direct you on home page",
"order" : 3,
"taxonomy" : "nav-bar"
}
{
"_id" : 6,
"name" : "extra Link1",
"slug" : "extra-link1",
"parent" : 5,
"description" : "this will direct you on home page",
"order" : 1,
"taxonomy" : "nav-bar"
}
{
"_id" : 7,
"name" : "extra Link2",
"slug" : "extra-link2",
"parent" : 5,
"description" : "this will direct you on home page",
"order" : 2,
"taxonomy" : "nav-bar"
}
Как я получу эти данные, используя golang в соответствии с полем parent
и полем order
, что они расположены в отсортированном порядке, а также следуют за дочерним родителемиерархия.Сейчас я просто извлекаю все данные, используя db.CollectionName.find().pretty()
.Но теперь мне нужно упорядочить это по полю заказа, а также по родительской дочерней иерархии.
Я пробовал запрос ниже в оболочке mongodb: -
db.CollectionName.find().pretty()
он покажет мне полные данные.Но мне нужно, например, сначала запись, имеющая _id:1, parent:0, order:1
, затем она будет отображаться вверху, а запись, имеющая _id:2, parent:0, order:2
, она будет отображаться на секунду, в третьей записи она будет иметь _id:3, parent:2, order:1
, тогда она будет отображаться сразу за секундой записи, потому чтоего родитель - _id:2
по порядку.