3.1.2 - 严重 - 未处理
若表的主键为_id(这还是比较常见的),则会导致此条件失效。具体代码如下
ThinkPHP\Lib\Core\Db.class.php(3.1.3版本)第426行
if(0===strpos($key,'_')) {而令人不解的是,于此同时,ThinkPHP\Extend\Driver\Db\DbMongo.class.php中相同的方法,写的却是
if('_id' != $key && 0===strpos($key,'_')) {故意将_id忽略了。不知道官方是疏忽了么?