Я создаю базовый c RESTFUL API с использованием flask_restful
и python3
.
from flask import Flask
from flask_restful import Api, Resource
from pymongo import MongoClient
app = Flask(__name__)
api = Api(app)
client = MongoClient('mongodb+srv://xxx:password@fm-nz8t3.mongodb.net/test?retryWrites'
'=true&w=majority')
db = client['ERP']
users = db['users']
class Visit(Resource):
@staticmethod
def get():
user_count = int(users.find_one({})['users'])
new_count = user_count + 1
new_id = db.users.update_one({'users': user_count}, {'$set': {'users': new_count}})
return 'User ID: {}'.format(new_count)
api.add_resource(Visit, '/')
Идея состоит в том, чтобы подсчитать, сколько пользователей «посетили» мой сайт. Я делаю это, просто увеличивая переменную, основываясь на предыдущей user_count
.
Моя проблема состоит в том, что мое поле users
увеличивается на two
, а не one
, всякий раз, когда я получаю доступ к своему REST API на localhost 127.0.0.1:5000
.
Если я запускаю это напрямую:
from flask import Flask
from flask_restful import Api, Resource
from pymongo import MongoClient
app = Flask(__name__)
client = MongoClient('mongodb+srv://xxx:password@fm-nz8t3.mongodb.net/test?retryWrites'
'=true&w=majority')
db = client['ERP']
users = db['users']
user_count = int(users.find_one({})['users'])
new_count = user_count + 1
new_id = db.users.update_one({'users': user_count}, {'$set': {'users': new_count}})
My users
, поле ДЕЛАЕТ работу правильно, что увеличивает поле пользователя на единицу и НЕ два.
Есть ли что-то, чего мне не хватает при использовании наследования от Resource
класса? Поскольку я думаю, что это root проблемы.