Удалить из mongodb, используя php на основе двух условий - PullRequest
0 голосов
/ 02 мая 2020

Я хочу сделать что-то вроде ниже:

  $result = $videos->deleteOne([
            'video_name' => $data->name,
            'user_id' => $user_id
        ]);

Будет ли это работать так? Я хочу удалить запись, которая имеет этот userId, а также video_name. Теперь дело в том, что это что-то удаляет. Потому что у меня было 50 записей, и когда я нажимал «Удалить», у меня было 49, затем снова 48, но не та запись, которая должна была быть удалена! Так что мое подозрение связано с тем, что я не привык к php так много. Как переписать это так, чтобы оно удаляло только при выполнении обоих условий?

Ответы [ 2 ]

0 голосов
/ 07 мая 2020

Оказывается, это работало, но удаляло некоторые другие видео, поэтому мне пришлось добавить другой уникальный идентификатор, по сути, превратив его в.

 $result = $videos->deleteOne([
            'video_name' => $data->name,
            'user_id' => $user_id
             'job_id' => $data->jobID
        ]);
0 голосов
/ 02 мая 2020

Я думаю, что они удаляются, если выполняются оба условия, если вы не можете сначала найти, а затем выполнить удаление над этим объектом, используя _id

$entity = $videos->findOne([
    'video_name' => $data->name,
    'user_id' => $user_id
]);


$result = $videos->deleteOne([
    '_id' => $entity->_id
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...