7

我有一个任意的 MongoDB JSON 查找查询字符串,例如:

{ "address.city": "Seattle"}

或者

{ qty: { $gt: 5, $lt: 50 }

是否有任何现有方法可以从 JSON 字符串创建 Doctrine.MongoDB.Query 对象?或者直接查询 mongo,然后将这些结果传递给学说进行水合作用?

4

2 回答 2

1

是否有任何现有方法可以从 JSON 字符串创建 Doctrine.MongoDB.Query 对象?

目前没有,但是我们可以将setQuery方法添加到Builder. 更乏味但有效的方法是Query自己实例化类。

或者直接查询 mongo,然后将这些结果传递给学说进行水合作用?

一旦您拥有包含数据的普通数组(并且您不怕深入研究UnitOfWork),您可以使用$dm->getUnitOfWork()->getOrCreateDocument()或稍后使用HydratorFactory和合并文档DocumentManager

于 2016-02-25T22:31:50.220 回答
0

我自己没有使用过它,但是这个最近的捆绑包似乎是为了这个确切的目的而创建的(querybuilderjs 变成了学说)。

https://github.com/fourlabsldn/QBJSParserBundle

https://github.com/fourlabsldn/QBJSParser

         $parsedRuleGroup = $this->get('fl_qbjs_parser.json_query_parser.doctrine_orm_parser')->parseJsonString($jsonString, Product::class);

         $query = $this->get('doctrine.orm.entity_manager')->createQuery($parsedRuleGroup->getDqlString());
         $query->setParameters($parsedRuleGroup->getParameters());
         $results = $query->execute();
于 2017-03-08T19:35:42.923 回答