【问题标题】:Doctrine - How to print out the real query string to mongodb?Doctrine - 如何将真正的查询字符串打印到 mongodb?
【发布时间】:2017-10-30 11:44:03
【问题描述】:

我正在使用 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

【问题讨论】:

    标签: mongodb symfony doctrine-orm


    【解决方案1】:

    查询是一个更复杂的结构,而不是单个 SQL 字符串。 您可以从构建器中获取Doctrine\MongoDB\Query 对象

    $queryBuilder->getQuery();
    

    还有查询数组本身:

    $queryBuilder->getQuery()->getQuery();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多