2016-01-21 2 views
0

Я хотел бы выбрать все отдельные значения поля «имя» в коллекции, при условии, что поле «секс» должно быть «мужским и полевым» состоянием »не должно быть« FR » (все различные изобретатели имен, которые являются мужчинами, а не французские).Как найти отдельные элементы в коллекции, исключая конкретное значение в MongoDB?

Я попробовал этот код, но не могу найти какие-либо результатов. Является ли это исправить?

inventors = db.collection.distinct("name", {"$and": [{"sex":"male"}, {"state": {"$nin": "FR"}}]}) 

Я использую PyCharm, как IDE

ответ

2

Вместо «не в» используйте "not equal". Заменить:

{"$nin": "FR"} 

с:

{"$ne": "FR"} 
+0

Я просто попытался с обоих операторов. Нет результатов –

+0

@ DiegoFosso вы уверены, что подключились к правильному экземпляру mongodb и использовали нужную коллекцию? 'db.collection.distinct' будет запрашивать коллекцию' collection'. – alecxe