Ще трябва да използвате командата findAndModify на MongoDB. С него можете атомарно да избирате и увеличавате поле.
db.seq.findAndModify({
query: {"_id": "users"},
update: {$inc: {"seq":1}},
new: true
});
Това ще увеличи брояча за users
колекция, която след това можете да добавите към документа преди вмъкване. Тъй като е атомен, не е нужно да се притеснявате за условията на състезанието, които водят до конфликтни идентификатори.
Не е толкова безпроблемно като auto_increment
на MySQL флаг, но обикновено имате и опцията да посочите своя собствена фабрика за идентификационни номера във вашия драйвер Mongo, така че можете да внедрите фабрика, която използва findAndModify за увеличаване и връщане на идентификатори прозрачно, което води до много по-подобно на MySQL изживяване.
Недостатъкът на този подход е, че тъй като всяко вмъкване зависи от заключване на запис във вашата колекция от поредици, ако правите много записвания, в крайна сметка можете да изпаднете в затруднение на това доста бързо. Ако просто искате да гарантирате, че документите в колекция са сортирани в ред на вмъкване, тогава вижте Ограничени колекции.