【问题标题】:Using $or clause in pymongo在 pymongo 中使用 $or 子句
【发布时间】:2011-06-02 07:09:51
【问题描述】:

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

[{
     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'
}]

很遗憾没有。我做错了什么?

【问题讨论】:

    标签: mongodb pymongo


    【解决方案1】:

    我使用的是 ubuntu 存储库中的 mongodb,它早于 1.5.3(mongodb 的文档说 $or 从 1.5.3 开始可用)。 在我更改为最新版本 (1.6.5) 后,一切都按预期工作。

    【讨论】:

    • 赞成:同样的事情发生在我身上。我知道投赞成票是一件很愚蠢的事情,但有时你会把头撞到墙上,你只需要这样的帖子来提醒自己检查基本的东西……比如版本号。
    猜你喜欢
    • 2012-01-01
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多