我正在使用MongoDB ODM并尝试查询:
$this->dm->createQueryBuilder($this->documentName)->select(['_id', 'name', 'created_date'])->field('active')->equals(true)->getQuery();
我想看看它发送给MongoDB的是什么?使用Doctrine ORM,您可以执行以下操作:$query->getSql();
或$query->getParameters()
。
提前致谢!
更新:
如果我有如上所述的查询并执行$queryBuilder->getQuery()->getQuery()
;
接收如下数组:
[
"type" => 1
"select" => array:3 [
"_id" => 1
"name" => 1
"created_date" => 1
]
"query" => array:1 [
"active" => true
]
"newObj" => []
]
这意味着:
db.getCollection('campaigns').find( { active: true }, { _id: 1, name: 1, created_date: 1})
谢谢@Alex Blex
答案 0 :(得分:2)
查询是一个更复杂的结构而不是单个SQL字符串。
您可以从构建器中获取Doctrine\MongoDB\Query
对象
$queryBuilder->getQuery();
查询数组本身:
$queryBuilder->getQuery()->getQuery();