В каждом документе,Как я могу удалить дублированные элементы (комплекс объектов) из массива
в records
представляет собой массив, содержащий много дублированных объектов.
и в buy_items
есть также много дублированных предметов.
Как можно очистить дублированные предметы?
Оригинальные документы:
{
"_id": "0005d116qwwewdq82a1b84f148fa6027d429f3e",
"records": [
{
"DATE": new Date("1996-02-08T08:00:00+0800"),
"buy_items": [
"5210 ",
"5210 ",
"5210 "
]
},
{
"DATE": new Date("1996-02-08T08:00:00+0800"),
"buy_items": [
"5210 ",
"5210 ",
"5210 "
]
}
{
"DATE": new Date("2012-12-08T08:00:00+0800"),
"buy_items": [
"5210 ",
"1234 ",
" "
]
}
]
}
Ожидаемый результат:
{
"_id": "0005d116qwwewdq82a1b84f148fa6027d429f3e",
"records": [
{
"DATE": new Date("1996-02-08T08:00:00+0800"),
"buy_items": [
"5210 "
]
},
{
"DATE": new Date("2012-12-08T08:00:00+0800"),
"buy_items": [
"5210 ",
"1234 ",
" "
]
}
]
}
С решением Michaels, вывод может выглядит эта
{
"_id": "0005d116qwwewdq82a1b84f148fa6027d429f3e",
"records": [
"date": new Date("1996-02-08T08:00:00+0800"),
"buy_items": [
"5210 "
"1234 ",
" "
]
]
}
Вы можете сделать это с рамками агрегации: 1. разматывать записи 2. unwind buy_items 3. перегруппируйте buy_items с помощью addToSet 4.перегруппируйте записи с помощью addToSet , затем выполните итерацию по набору результатов и обновите документы – RomanKonz
, вы хотите обновить свои коллекции или хотите отображать их с помощью агрегации? – Yogesh
@yogesh обновить коллекцию – newBike