Список задач Todo в javascript

Это не очень хорошая идея, но если вы действительно хотите пройти через нее, вы можете попробовать настроить, как показано ниже.

Он должен работать достаточно хорошо в приложении с низким трафиком с одним сервер, но я бы не пробовал ничего подобного с реплицированной или ошпаренной средой или если вы выполняете большое количество вставок.

Создайте отдельную коллекцию для обработки id seqs:

db.seqs.insert({
    'collection' : 'admin_collection',
    'id' : 0
})

Всякий раз, когда вам нужно вставить новый документ, используйте что-то похожее на это:

def insert_doc(doc):
    doc['_id'] = str(db.seqs.find_and_modify(
        query={ 'collection' : 'admin_collection' },
        update={'$inc': {'id': 1}},
        fields={'id': 1, '_id': 0},
        new=True 
    ).get('id'))

    try:
        db.admin_collection.insert(doc)

    except pymongo.errors.DuplicateKeyError as e:
        insert_doc(doc)
0
задан Soujanya J 13 July 2018 в 11:52
поделиться