在pymongo中使用$或子句

Mar*_*riy 10 mongodb pymongo

我在集合中有这些字段:

[{
     u'_id': ObjectId('4d1f7b4d5d256b18c8000000'),
     u'name': u'1'
 },{
     u'_id': ObjectId('4d1f7b505d256b18c8000001'),
     u'name': u'2'
 },{
     u'_id': ObjectId('4d1f7b525d256b18c8000002'),
     u'name': u'3'
 }]
Run Code Online (Sandbox Code Playgroud)

然后我这样做一个查询:

 [x for x in c.things.find( {'$or' : [{'name':'1'}, {'name':'2'}] } )]
Run Code Online (Sandbox Code Playgroud)

我希望得到:

[{
    u'_id': ObjectId('4d1f7b4d5d256b18c8000000'),
    u'name': u'1'
}, {
    u'_id': ObjectId('4d1f7b505d256b18c8000001'),
    u'name': u'2'
}]
Run Code Online (Sandbox Code Playgroud)

不幸的是.我究竟做错了什么?

Mar*_*riy 5

我使用的是来自ubuntu存储库的mongodb,它早于1.5.3(mongodb的文档说$或者从1.5.3开始提供).在我更改到最新版本(1.6.5)之后,一切都按预期工作.

  • Upvote:同样的事情发生在我身上.我知道这是一个愚蠢的事情,但有时候你的头撞在墙上,你只需要这样的帖子来提醒自己检查基本的东西......比如版本号. (3认同)