В моей коллекции мне нужно удалить любые элементы, которые не относятся к определенному типу.Как найти все элементы, которые не являются определенным типом
$result = $db.configs.find(
array('$not' => array(
array('$or' => array(
array('_id' => array('$type' => 2)),
array('_id' => array('$type' => 7)),
)
)
)
)
);
Если я удалить «$» не обертку вокруг элемента, это найти все элементы, которые имеют тип 2 и 7, я использую не неправильно?
Какие коллекции? Может быть полезно использовать функцию array_filter()? – Luke
коллекция называется «configs», не совсем уверен, что это важно для вопроса? @Luke –
Это зависит от типа вашего '_id'. Если это 'objectId', запрос будет возвращать пустой курсор, поскольку вы фильтруете' 7' и '2', которые являются' objectId' и 'string' соответственно. Также будет лучше, если вы предоставите образец документа? – Vishwas