Python的前夕,在那里查询返回空结果

问题描述:

我有一个蒙戈集合称为个案它具有以下记录:?Python的前夕,在那里查询返回空结果

{ 
    _updated: "Tue, 26 Jul 2016 10:47:34 GMT", 
    user_id: "ronaldo", 
    client: "webapp", 
    _links: { 
     self: { 
      href: "case/57972a253d73f156b5427ac3", 
      title: "case" 
     } 
    }, 
    _created: "Tue, 26 Jul 2016 09:15:17 GMT", 
    _id: "57972a253d73f156b5427ac3", 
    _etag: "e85847955b97c2a339628071397ab4cafd959062" 
}, 
{ 
    _updated: "Tue, 26 Jul 2016 09:20:50 GMT", 
    user_id: "578ca6e4daaf452467ffa9f2", 
    client: "webapp", 
    _links: { 
     self: { 
      href: "case/57972b723d73f156b5427ac4", 
      title: "case" 
     } 
    }, 
    _created: "Tue, 26 Jul 2016 09:20:50 GMT", 
    _id: "57972b723d73f156b5427ac4", 
    _etag: "6a6066ed62c91d0f79bbf3a362b567f8e7710f63" 
} 

下面的查询正确返回数据:

http://localhost:8000/case?where={"user_id":"ronaldo"} 

,而下面的查询返回空结果集:

http://localhost:8000/case?where={"user_id":"578ca6e4daaf452467ffa9f2"} 

请注意,如果我直接在蒙戈做查询,它的工作原理:

db.case.find({user_id: "578ca6e4daaf452467ffa9f2"}) 

请帮帮忙!

看起来您的user_id有时可能包含objectid-like字符串。尝试在资源设置中设置query_objectid_as_string。引述docs

当[query_objectid_as_string是]启用蒙戈分析器会自动避免铸造总统当选字符串的ObjectID。如果数据库中的字符串字段的值实际上可以转换为ObjectId值,但不应该这样做,那么这对于那些罕见的情况很有用。它影响查询(?where =)和解析有效载荷。默认为False。

+0

太棒了!奇迹般有效!太感谢了! – Raptor

+0

with query_objectid_as_string = True,http:// localhost:8000/case/578ca6e4daaf452467ffa9f2不再有效。 – Raptor