marcosmatioli / ragnarok-wiki

1 stars 0 forks source link

Remove 'status' Schema #13

Open raphaelsander opened 8 months ago

raphaelsander commented 8 months ago

On upgrader microservice, upgrader/main.py file, refactory the whay of get/update last monster upgraded to use last monster in monsters collection created/upgraded instead of save on status collection.

Query example:

db.ragnarok-wiki.find().sort({ _id: -1 }).limit(1)

Code to refactory:

# position
try:
    position = status.find_one({'status': 'id'})['id']
except:
    position = 1001

def save_status(position):
    status.update_one(
        { 'status': 'id' },
        { '$set': { 'id': position } },
        upsert=True
    )
marcosmatioli commented 8 months ago

Poderia explicar um pouco sobre esse refatoramente.

raphaelsander commented 8 months ago

Ao invés de utilizarmos uma coleção no Mongo DB apenas para salvar qual foi o último monstro atualizado, podemos apenas remover essa abordagem e ao iniciar o container do upgrader podemos apenas ver qual foi o último monstro adicionado/atualizado com a query db.ragnarok-wiki.find().sort({ _id: -1 }).limit(1), isso irá simplificar muito e evitar de ter que ficar atualizando em um documento Mongo DB o último monstro atualizado.