在doctrine odm中匹配数组字段的字符串

时间:2017-09-20 16:07:32

标签: mongodb symfony

我有一个字段短名称,即doctrine对象文档管理器(odm)中的集合类型,我有一个字符串。我想在该短名称字段上匹配该字符串以收集匹配的结果。我使用find by下面给出的模式得到它,但结果是一个空数组。

$result = $dm->getRepository('a')
     ->findBy(['name' => new \MongoRegex("/.*".$partialText .".*/i"),
      'shortName' => new \MongoRegex("/.*".$partialText .".*/i")], [], $limit, 0);

1 个答案:

答案 0 :(得分:0)

考虑文档中的以下输入数据:

"CrTime" : "20170620123601"
"CrTime" : "20170622071138"
"CrTime" : "20170622131845"
"CrTime" : "20160612131845"

现在我想仅匹配2016年的日期。来自mongodb commandLine

db.getCollection('name').find({ "parent.CrTime" : { "$regex" : "2016.*"}});

从java驱动程序视图:

Clause2.put("parent.CrTime", new BasicDBObject("$regex", "2016.*"));

您可以使用$regex获取数据