php - 根据两个条件使用php从mongodb中删除
问题描述
我想做如下的事情:
$result = $videos->deleteOne([
'video_name' => $data->name,
'user_id' => $user_id
]);
它会这样工作吗?我想删除具有该 userId 和 video_name 的记录。现在的问题是它正在删除一些东西。因为我有 50 条记录,当我按删除时,我有 49 条,然后又是 48 条,但不是应该删除的记录!所以我的怀疑是因为我不太习惯 php。如何重写它以使其仅在满足两个条件时才删除?
解决方案
我认为如果两个条件都满足,它们将被删除,如果不满足,您可以先找到然后使用 _id 对该实体执行删除
$entity = $videos->findOne([
'video_name' => $data->name,
'user_id' => $user_id
]);
$result = $videos->deleteOne([
'_id' => $entity->_id
]);