Ошибка при сохранении данных в базу данных mongodb с помощью фляги - PullRequest
0 голосов
/ 01 октября 2019

Я использую базу данных mongodb со своим приложением во Flask и подключаю ее к приложению с помощью pymongo. У меня возникла проблема при попытке сохранить документы в моей базе данных mongodb, см. Ошибку ниже:

127.0.0.1 - - [01/Oct/2019 15:56:47] "POST /movie HTTP/1.1" 500 -
Traceback (most recent call last):
  File "/home/lancelot/.local/lib/python3.6/site-packages/pymongo/mongo_client.py", line 1385, in _retry_with_session
    return func(session, sock_info, retryable)
  File "/home/lancelot/.local/lib/python3.6/site-packages/pymongo/collection.py", line 595, in _insert_command
    retryable_write=retryable_write)
  File "/home/lancelot/.local/lib/python3.6/site-packages/pymongo/pool.py", line 613, in command
    user_fields=user_fields)
  File "/home/lancelot/.local/lib/python3.6/site-packages/pymongo/network.py", line 167, in command
    parse_write_concern_error=parse_write_concern_error)
  File "/home/lancelot/.local/lib/python3.6/site-packages/pymongo/helpers.py", line 159, in _check_command_response
    raise OperationFailure(msg % errmsg, code, response)
pymongo.errors.OperationFailure: Transaction numbers are only allowed on storage engines that support document-level locking

Это моя функция просмотров, которая перехватывает запрос на публикацию:

@app.route('/movie', methods = ['GET','POST'])
def add_movie():
    movie = mongo.db.movies
    try :
        name = request.json['name']
        print(name)
        movie_id = movie.insert({'name':name})
        new_movie = movie.find_one({'_id': movie_id })
        output = {'name' : new_movie['name']}
        return jsonify({'result' : output})
    except TypeError:
        return jsonify({'result' : 'niet'})

и мой POST-запрос выполняется с помощью AJAX-запроса в одном из моих шаблонов:

$(document).ready(function() {
  $('#movies_btn').click(function() {
    $.ajax({
            url: "{{ url_for('add_movie') }}",
            type: 'POST',
            contentType: 'application/json;charset=UTF-8',
            data: JSON.stringify({'name':'oui'}),
        success: res => {
            alert('stop')
            window.location.href="{{ url_for('index') }}"
        },
        error: xhr => {
            alert(xhr.responseText.split('\n')[1])
        }
    })
    })
})

Можете ли вы помочь мне с этой проблемой? Я попытался посмотреть документацию на фляжку для фляги, но не нашел ответа.

Спасибо

...