Pymongo不承认$ cond

时间:2016-12-29 21:34:51

标签: python mongodb pymongo

我的Pymongo是3.2.1,从文档中我应该$cond没有任何问题。

$cond的语法是

{ $cond: [ <boolean-expression>, <true-case>, <false-case> ] }

我的查询是:

{'$and': [{u'$cond': [{u'activity': {u'$in': [u'specialLogin',
                                        u'moreSpecialLogin']}},
                  {u'$or': [{u'log_type': u'user'}],
                   u'tags': u'Login AND NOT badLogin',
                   u'time': {u'$gt': 10}},
                  {u'$or': [{u'log_type': u'admin'},
                            {u'log_type': u'user'}],
                   u'tags': u'Login AND NOT badLogin',
                   u'time': {u'$gt': 10}}],
       'time': {'$gt': datetime.datetime(2016, 12, 29, 19, 27, 49, 491065)}},
      {'log_type': {'$ne': 'alert'}}]}

所以我的if条件是

{u'activity': {u'$in': [u'specialLogin', u'moreSpecialLogin']}}

如果是的话:

{u'$or': [{u'log_type': u'user'}],
 u'tags': u'Login AND NOT badLogin',
 u'time': {u'$gt': 10}}

如果错误:

{u'$or': [{u'log_type': u'admin'},
          {u'log_type': u'user'}],
 u'tags': u'Login AND NOT badLogin',
 u'time': {u'$gt': 10}}

我一直在收到此错误

OperationFailure: unknown top level operator: $cond

在我看来,pymongo无法识别$ cond,但是从文档中可以看出$ cond评论(以及格式),因为mongodb 2.6

有人能发现这个问题吗?我在这里运气不好。

0 个答案:

没有答案