SyntaxError with pymongo and $ne : null

Viewed 5340

this is my code :

#! /usr/bin/python

import os
from pymongo.connection import Connection
from pymongo.master_slave_connection import MasterSlaveConnection


database = 'toto'
collection = 'logs'

master = Connection(host="X.X.X.X", port=27017)
slave1 = Connection(host="X.X.X.X", port=27017)
con = MasterSlaveConnection(master, slaves=[slave1, master])

db = getattr(con,database)

#host_name.append("getattr(db,collection).distinct( 'host_name' )")
#print host_name[1]

hosts = db.logs.distinct( 'host_name' )

services = db.logs.distinct("service_description" , { "service_description" : { $ne : null } } )

#print hosts
print services

I got this error :

File "./rapport.py", line 23
    services = db.logs.distinct("service_description" , { "service_description" : { $ne : null } } )
                                                                                    ^
SyntaxError: invalid syntax

Why i can't use "$ne : null" in my code? I don't understand because when i execute this query "db.logs.distinct("service_description" , { "service_description" : { $ne : null } } )" directly in mongodb it works.

I also tried this but it doesn't work :

services = db.logs.distinct("service_description", { "service_description" : { "$ne" : None } } )

Thanks for your help.

1 Answers
Related