2016-07-28 4 views
1

У меня есть коллекция Монго под названием Case, которая имеет следующие записи: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 может иногда содержать объектно-подобные строки. Попробуйте установить query_objectid_as_string в настройках ресурсов. Цитируя docs:

Когда [query_objectid_as_string это] включен анализатор Монго избежит автоматического приведения строки в имеющем право быть избранной ObjectIds. Это может быть полезно в тех редких случаях, когда у вас есть строковые поля в базе данных, значения которых действительно могут быть отнесены к значениям ObjectId, но не должны. Он обрабатывает запросы (? Where =) и анализирует полезную нагрузку. По умолчанию False.

+0

Awesome! Работает как шарм! Бесконечно благодарен! – Raptor

+0

с query_objectid_as_string = True, http: // localhost: 8000/case/578ca6e4daaf452467ffa9f2 больше не работает. – Raptor

Смежные вопросы