2016-07-28 40 views
1

我有一個蒙戈集合稱爲個案它具有以下記錄:?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"}) 

請幫幫忙!

回答

1

看起來您的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