Php 删除mongoDb gridFs结果中的文件;0“;,即使它在那里

Php 删除mongoDb gridFs结果中的文件;0“;,即使它在那里,php,mongodb,gridfs,Php,Mongodb,Gridfs,这段代码有没有明显的错误 $result = $this->_grid->remove( $someQueryWithOneResult, array('safe' => true, 'justOne' => true) ); if ($result['n'] === 0) { throw new FileNotFoundException("no file with xuuid '" . $xuuid . "'", 404); } else if ($r

这段代码有没有明显的错误

$result = $this->_grid->remove(
    $someQueryWithOneResult, array('safe' => true, 'justOne' => true)
);
if ($result['n'] === 0) {
    throw new FileNotFoundException("no file with xuuid '" . $xuuid . "'", 404);
} else if ($result['n'] === 1) {
    return true;
}
有时会引发异常(表示结果为0)。我很确定这个文件存在,之后会被删除。我在一个批处理作业中针对一个包含2个碎片和2个复制集的mongoDb集群运行此操作

我怀疑mongoDb中有一个bug,可能是PHP驱动程序(可能“safe”=>true不起作用),也可能是碎片有问题

有什么想法吗?谷歌真的帮不上忙:-(

问候


Marko

您可能会遇到它的一个或一个变体


这些问题在当前的开发版本2.3(将成为2.4生产版本)中得到了修复,修复程序已被移植到2.2,并将在今年冬天晚些时候发布到2.2.3版本中。

谢谢,很可能是这样。