Ogólnie rzecz biorąc, w MongoDB nie używa się wzorca automatycznego przyrostu, ponieważ nie jest on skalowany w przypadku baz danych z dużą liczbą dokumentów. Można to jednak zrobić, używając oddzielnej kolekcji liczników do śledzenia ostatniej użytej sekwencji liczb:
db.counters.insert(
{
_id: "userid",
seq: 0
}
)
Następnie możesz utworzyć funkcję, która zwróci Ci następną liczbę w sekwencji:
function getNextSequence(name) {
var ret = db.counters.findAndModify(
{
query: { _id: name },
update: { $inc: { seq: 1 } },
new: true
}
);