2

我想返回那些必须同时满足 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 的新手。

非常感谢

4

1 回答 1

2

此行无效:

{"term" : 1} == events

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

于 2012-11-15T03:54:05.350 回答