创号很难 2022-11-09 03:25
浏览 17
已结题

MongoDB的query输出到底怎么判断啊?

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>";
    } 
}

总之我目前是使用遍历的方法来获取值,然后判断它是否为空。
但是我觉得肯定有更快的方法,实在不知道怎么搞了查了很多都没找到想要的答案,请各位帮帮忙。
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 11月17日
    • 创建了问题 11月9日

    悬赏问题

    • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
    • ¥15 孟德尔随机化怎样画共定位分析图
    • ¥18 模拟电路问题解答有偿速度
    • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
    • ¥15 误删注册表文件致win10无法开启
    • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
    • ¥60 ESP32怎么烧录自启动程序
    • ¥50 html2canvas超出滚动条不显示
    • ¥15 java业务性能问题求解(sql,业务设计相关)
    • ¥15 52810 尾椎c三个a 写蓝牙地址