Сначала создайте коллекцию счетчиков, которая будет отслеживать последнее значение последовательности для всех полей последовательности.
db.createCollection("counters")
Используйте следующий код для вставки этого документа последовательности в коллекцию счетчиков -
db.counters.insert({_id:"tid",sequence_value:0})
Создание функции Javascript:
function getNextSequenceValue(sequenceName){
var sequenceDocument = db.counters.findAndModify({
query:{_id: sequenceName },
update: {$inc:{sequence_value:1}},
new:true
});
return sequenceDocument.sequence_value;
}
Вставить два документа:
db.products.insert({
"_id":getNextSequenceValue("tid"),
"product":"Samsung",
"category":"mobiles"
})
db.products.insert({
"_id":getNextSequenceValue("tid"),
"product":"Samsung S3",
"category":"mobiles"
})
Получить вставленные документы:
db.prodcuts.find()
OUTPUT
{«_id»: 1, «продукт»: «Samsung», «категория»: «мобильные»}
{"_id": 2, "product": " Samsung S3 "," категория ":" мобильные телефоны "}