dongzhi9574 2019-06-10 10:11
浏览 230

如何避免Mongo数组中的重复对象

I'm trying to create tasks collection where every user has his own object and his tasks are divided into different days. Unfortunately when I try to add new task for existing day, mongo duplicates the day object. I use facile-it/mongodb-bundle for Symfony

That's my code:

$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]
            ]
        ]
    ]
);

And when there are 2 or more tasks for the same day, I receive something like this: compass view

What should I do to make it work as expected?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 树莓派与pix飞控通信
    • ¥15 自动转发微信群信息到另外一个微信群
    • ¥15 outlook无法配置成功
    • ¥30 这是哪个作者做的宝宝起名网站
    • ¥60 版本过低apk如何修改可以兼容新的安卓系统
    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
    • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
    • ¥50 有数据,怎么用matlab求全要素生产率
    • ¥15 TI的insta-spin例程
    • ¥15 完成下列问题完成下列问题