Mongo:结合AND和OR

时间:2012-11-15 03:42:01

标签: python mongodb pymongo database

我想返回那些必须满足AND和OR条件的记录。 AND条件检查该值是否与集合外部的外部值匹配,然后检查它是否与OR条件中的一个或两个匹配。

这是我使用pymongo的查询:

 cursor = coll.find(
                { "$and" : [
                        {"term" : 1} == events, 
                        { "$or" : [
                                {"coordinates.type" : "Point"}, 
                                {"place.full_name" : {"$ne" : None}}
                        ]}
                    ]}, 
                           {"coordinates" : 1, "place.full_name" : 1}, 
                            tailable = True, timeout  = False )

我可以自己运行查询的OR部分。相反,我得到一个错误说:

OperationFailure: database error: $and/$or elements must be objects

我是Mongo和Python的新手。

非常感谢

1 个答案:

答案 0 :(得分:2)

此行无效:

{"term" : 1} == events

不确定这里有什么意图,但是如果你删除'== events'它应该是一个有效的查询参数