MongoDB的query当不存在任何符合条件的文档时到底输出的是什么玩意儿?
我需要用query的结果来进行判断,我的想法是如果用户输入的验证码匹配不到任何文档,那么就提示错误,如果匹配到了就进入下一步,但是这个mongodb查询出来的无匹配,输出既不是null 也不是[],用empty和isset都不是无任何匹配的输出结果,给我人整晕了。以下是代码请各位帮帮忙:
if(isset($_POST['yes'])){
$code = $_POST['Code'];
$condizione = ["Codice"=>"$code"];//条件
$options = [
"projection"=>["_id"=>0,"Email_Utente"=>0]//不打印id和用户邮箱
];
$query = new MongoDB\Driver\Query($condizione,$options);//封装查询
$result = $conn->executeQuery("Verifica.Codes",$query);//进行查询,这玩意打出的结果到底是什么!!!
foreach($result as $data){
print_r($data,true);
}//遍历获取可用判断的值,但是太麻烦了
if(empty($data) == true){//判断输出是否为空
echo"<script type='text/javascript'>alert('".$rpw['scadcode']."'); location='Verifica_code.php';</script>";
}
else{//如果匹配到了就进入到这里面
$delet = new MongoDB\Driver\BulkWrite;
$delet->delete(["Codice"=>"$code"]);
$writerConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 5000);
$drop_code = $conn->executeBulkWrite("Verifica.Codes",$delet,$writerConcern);
echo"<script type='text/javascript'>alert('".$rpw['yescode']."'); location='Cambia_pw.php';</script>";
}
}
总之我目前是使用遍历的方法来获取值,然后判断它是否为空。
但是我觉得肯定有更快的方法,实在不知道怎么搞了查了很多都没找到想要的答案,请各位帮帮忙。