Python 在PyMongo中使用的是NULL
我试图在pymongo查询中执行一个Python 在PyMongo中使用的是NULL,python,sql,django,mongodb,pymongo,Python,Sql,Django,Mongodb,Pymongo,我试图在pymongo查询中执行一个'd':None。但是当我这样做的时候,没有。我没有得到任何结果 我的SQL: SELECT date, a, vt, b, c, d ,SUM(theSum) AS theSum FROM table where date between '2019-07-08' and '2019-08-08' AND a in ( 'abc', 'xyz') AND c IN ('qwe') AND b IS NOT NULL
'd':None
。但是当我这样做的时候,没有。我没有得到任何结果
我的SQL:
SELECT date, a, vt, b, c, d
,SUM(theSum) AS theSum
FROM table
where date between '2019-07-08' and '2019-08-08'
AND a in ( 'abc', 'xyz')
AND c IN ('qwe')
AND b IS NOT NULL
AND (d IN ('yo') OR d IS NULL)
group by 1,2,3,4,5,6
order by theSum DESC
LIMIT 25
皮蒙戈:
{'$match': {
'$and': [{
'date': {
'$gte': sd,
'$lte': ed
},
'a': { '$in': a },
'b': {'$ne': None},
'c': { '$in': c },
}, {
'$or': [{
'd': {'$in': d}
}, {'d': None
}]
}]
}
}
{
'$group': {
'_id': {
'a': '$a',
'vt': '$vt',
'b': '$b',
'c': '$c',
'd': '$d'
},
'theSum':{
'$sum': '$theSum'
}
}
}, {
'$project': {
'_id': 0,
'a':'$_id.a',
'vt': '$_id.vt',
'b': '$_id.b',
'c': '$_id.c',
'd': '$_id.d',
'theSum': '$theSum'
}
}, {
'$sort': { 'theSum': -1 }
}, {
'$limit': 25
}
])
我在SQL中查询时得到43条记录,但在查询pymongo代码时得到0条记录。在pymongo中我做错了什么。您应该能够在查询中使用None-您可能需要查看括号,具体如下:
'$or': [{
'd': {'$in': d}
}, {'d': None
}]
在“{'d':None”前面有一个括号,而不是在它后面。您应该能够在查询中使用None-您可能想看看您的括号-具体地说,在这里:
'$or': [{
'd': {'$in': d}
}, {'d': None
}]
在“{'d':None”前面而不是后面有一个括号