#mongodb #mongoose #mongoid
#mongodb #mongoose #mongoid
Вопрос:
В настоящее время я пишу агрегацию и у меня есть массив с именем tags
сложных объектов, таких как: {name: 'tag1'}
.
Я хочу убедиться, что массив содержит только уникальный tags
.
{
$addFields: {
uniqueTags: {
$reduce: {
input: "$tags",
initialValue: {},
in: {$mergeObjects: {"$$this.name": "$$this"}}
}}
}},
Приведенный выше код не выполняется, потому что я использую $$this.name
в качестве ключа объекта. Если бы я изменил его на что-то другое, 5
например, агрегация работает идеально.
Комментарии:
1. Не могли бы вы показать образцы документов и желаемый результат
Ответ №1:
$addToSet
работает для вложенных объектов.