Как избежать дублирования объектов в массиве Mongo - PullRequest
1 голос
/ 10 июня 2019

Я пытаюсь создать коллекцию задач, где у каждого пользователя есть свой объект, и его задачи делятся на разные дни.К сожалению, когда я пытаюсь добавить новое задание для существующего дня, Монго дублирует объект дня.Я использую facile-it / mongodb-bundle для Symfony

Это мой код:

$collection = $this->mongoConnection->selectCollection(Table::READ_MONGO_USER_TASKS);

if($collection->countDocuments(['user_id' => $userId->toString()]) === 0) {
    $this->createUserDocument($collection, $userId);
}

$task = [
    'id' => $event->taskId()->toString(),
    'title' => $event->title()
];

$collection->updateOne(
    [
        'user_id' => $userId->toString()
    ],
    [
        '$addToSet' => [
            'days' => [
                'date' => $deadlineDate,
                'tasks_list' => [$task]
            ]
        ]
    ]
);

И когда на один и тот же день есть 2 или более задач, я получаю что-то вроде этого: компас

Что мне нужно сделать, чтобы все заработало как положено?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...