在我的 synfony 2 项目中,我使用查询生成器过滤搜索结果。在我的 MongoDB 中,我在数组中有一些值。
Query Builder具有“in”运算符,允许查询等于数组中多个值之一的值。我想执行相反的操作,即给定一个值,查询数据库中包含数组的条目,该数组包含我的值。
例如,假设我的 MongoDB 中有这个条目:
{
"_id": 123,
"name": "John",
"countries_visited":
[
"Australia"
"Bulgaria",
"Canada"
]
}
我想在我的数据库中查询访问过“加拿大”的人。现在,我正在使用where
如下属性,但我正在寻找一种更好的方法来做到这一点。
$qb->field('countries_visited')->where("function(){
return this.indexOf(".$countryName.") > -1
}");
编辑:in
andnotIn
运算符接收一个数组作为参数,并将其与 MongoDB 中的单个值进行比较。我需要提供一个参数并将其应用于 MongoDB 中的数组字段,因此是“逆向”。contains
如果有这样的事情,我想我需要一个操作员。