Новичок в пн go, нашел много примеров удаления дубликатов из массивов строк с использованием структуры агрегации, но мне интересно, если возможно, удалить дубликаты из массива объектов на основе поля в объекте. Например,
{
"_id" : ObjectId("5e82661d164941779c2380ca"),
"name" : "something",
"values" : [
{
"id" : 1,
"val" : "x"
},
{
"id" : 1,
"val" : "x"
},
{
"id" : 2,
"val" : "y"
},
{
"id" : 1,
"val" : "xxxxxx"
}
]
}
Здесь я хотел бы удалить дубликаты на основе поля id
. Так что в итоге получится
{
"_id" : ObjectId("5e82661d164941779c2380ca"),
"name" : "something",
"values" : [
{
"id" : 1,
"val" : "x"
},
{
"id" : 2,
"val" : "y"
}
]
}
Выбор первого / любого объекта с заданным идентификатором работает. Просто хочу, чтобы в конечном итоге с одним на идентификатор. Это выполнимо в структуре агрегации? Или даже вне структуры агрегации, просто ищите чистый способ сделать это. Нужно делать подобные вещи во многих документах в коллекции, что кажется хорошим вариантом использования для структуры агрегации, но, как я уже говорил, newb ie здесь ... спасибо.