用户快速上传媒体会导致mongoengine失败

时间:2017-06-05 17:55:41

标签: mongoengine

说我有这样一个对象:

try:
    new_thing = Thing.objects.get(name=name,
                                  age=age)
except DoesNotExist:
    new_thing = Thing(name=name,
                      age=age).save()

然后用户可以每秒上传100件事,所以也许我的端点有一些逻辑,如:

NotUniqueError: Tried to save duplicate unique keys (E11000 duplicate key error collection: my-db.thing index: name_1_age_1 dup key: { : "thing1", : 100 })

但我有时会收到一个错误:

req1 = "Thing1", 100 re12 = "Thing2", 100 req1 => doesn't exist, continue req2 => doesn't exist, continue req1 => creates object in database req2 => tries to create object in database, violates NotUniqueError and raises "[500]"

因为我相信如果用户发送了其中两个请求,可以按以下顺序进行评估:

.append()

0 个答案:

没有答案