我在一个集合中有这些字段:

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

然后,我进行了这样的查询:

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

我希望得到:

[{
    u'_id': ObjectId('4d1f7b4d5d256b18c8000000'),
    u'name': u'1'
}, {
    u'_id': ObjectId('4d1f7b505d256b18c8000001'),
    u'name': u'2'
}]

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

有帮助吗?

解决方案

我正在使用超过1.5.3的Ubuntu存储库中的MongoDB(MongoDB的文档说$或可从1.5.3处获得)。在我更改为最新版本(1.6.5)之后,一切都按预期工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top