I am trying to make a query where I want to retrieve items querying a field in the database. I need to check something as follows (example):
To retrieve books where the text field contain "Soccer" or "Basketball":
I want to have the items where only in the population above:
contain '1989'
and
exclude 'Europe'
Any idea? I am doing a counting for now but it does not work:
//search words
foreach ($cardSearch as $value) {
$regexSearch[]['text'] = new MongoRegex("/" . $value . "/");
}
//words included
foreach ($cardInclu as $value) {
$regexInclu[]['text'] = new MongoRegex("/" . $value . "/");
}
//words excluded
foreach ($cardExlu as $value) {
$regexExclu[]['text'] = new MongoRegex("/" . $value . "/");
}
$arr['$and'] = $regexInclu;
$arr['$ne'] = $regexExclu;
array_push($regexSearch, $arr);
$i = $mongoCollection->count(array('$or' => $regexSearch));
or
$i = $mongoCollection->count(array('$or' => $regexSearch,
'$and' => $regexInclu, '$ne' => $regexExclu));
Thanks!