Я пытаюсь обновить документ в базе данных MongoDB, используя API-интерфейс MongoLab Rest http://docs.mongolab.com/data-api/.UrlFetch PUT отправляет почтовый запрос?
В документации говорится, что он использует запрос PUT для обновления документов внутри коллекции с помощью оператора обновления в теле HTTP-запроса.
Таким образом, в соответствии с документацией, я стараюсь следующее:
urlinsert = 'https://api.mongolab.com/api/1/databases/ur_coursesniper/collections/classes?apiKey={key}&q={q}'
urlinsert = urlinsert.format(q=querycheck, key=CONFIG["key"])
form_fields = {
"$push" : { "Users" : email},
}
form_data = urllib.urlencode(form_fields)
result = urlfetch.fetch(url=urlinsert,
payload=form_data,
method=urlfetch.PUT,)
Однако после этого блока кода выполняет документ в в коллекции не обновляется.
HTTP-ответ я получаю это
2015-08-16 10:55:45,129 module.py:812] default: "POST/HTTP/1.1" 200 91
Это озадачивает, поскольку он говорит, что ответ является одновременно успешным и POST.
Любые идеи о том, что именно происходит?
просто исправил ... до сих пор отправляет запрос POST, и обновления признанного в БД :(Спасибо – JesterKynes
Вы проверили тело ответ на сообщение об ошибке? – mhawke
есть какой-то прогресс! Я получил сообщение об ошибке {«message»: «Нет набора Content-Type, ожидающего« application/json ».»}, поэтому я добавил поле \t \t \t headers = { 'Content-Type': 'application/json'})) к вызову urlfetch.fetch(). Я все еще получаю сообщение, и я понятия не имею, почему .... – JesterKynes