为什么我的$或$和查询出现语法错误?

时间:2012-08-12 05:11:32

标签: python mongodb pymongo database

Mongo一直在这条线上给我语法错误;

existingVideo = self.request.root.db.videos.find_one( { '$or' : [ { '_id' : ObjectId( video["serverVideoID"] ) } , '$and' : [ { '_id' : serverAuthorID } , { 'clientGUID' : video['clientGUID'] } ] ] })

但是我看不出它有什么问题。它看起来对我有用,但是有人能在这里发现错误吗?

1 个答案:

答案 0 :(得分:0)

看起来你在$ and子句周围缺少一组{ }

您的查询应该是:

existingVideo = self.request.root.db.videos.find_one( 
{ '$or' : 
   [ 
     { '_id' : ObjectId( video["serverVideoID"] ) 
     } , 
     {'$and' : 
           [ { '_id' : serverAuthorID } , { 'clientGUID' : video['clientGUID'] } 
           ] 
     } 
   ] 
})