Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在PyMongo中使用的是NULL_Python_Sql_Django_Mongodb_Pymongo - Fatal编程技术网

Python 在PyMongo中使用的是NULL

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

我试图在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
   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”前面而不是后面有一个括号