2012-08-23 143 views
-1

我很困惑为什么以下两个查询返回不同的结果。

modelObj = connection.MyModel.find({'t': t, 
       '$or': [{'cpd': None}, {'cpd': {'$gte': yesterday}}]}) 

modelObj = connection.MyModel.find({'t': t, 
       'cpd': {'$in': [None, {'$gte': yesterday}]}}) 

的对他们俩的解释计划或多或少是相同的。

第二个查询似乎忽略了''$ gte':昨天'的情况。

任何人都可以解释为什么会发生这种情况?

谢谢。

回答

1

$in只能用于将字段与离散值数组匹配,而不能与其他运算符匹配。

+0

谢谢男人..清晰准确的答案。 – kanishk