Я пытаюсь сохранить документ, содержащий строку, которая должна быть уникальной в моей коллекции.
Это модель:
const invoiceSchema = new Schema({
date: { type: Date },
increment: { type: Number },
nInvonce: { type: String }, // Cant be duplicated in the collection
})
«nInvonce» - это строка, которую я создаю из последнего зарегистрированного документа в коллекции.
// I get the last invoice registered in my collection
invoiceModel.findOne({}).sort({ '_id': '-1' }).then((invoice)=>{
var year = new Date(req.body.date)
req.body.increment= invoice.increment + 1
req.body.nInvoice = `${year.toString(10)}-` + req.body.increment;
//HERE IS WHERE I WOULD LIKE TO CHECK ( I GUESS )
invoiceModel.create(req.body)
})
так что я хочу сделать, это проверить, существует ли этот nInvoice в моей коллекции, прежде чем создавать новый документ. Я хочу сделать это, потому что при отладке моего приложения я несколько раз щелкнул по кнопке, которая отправляет запрос, и у меня был дублированный nInvoice ...
Итак, я заблокировал нижнюю часть после отправки запроса. .. но я боюсь, что в будущем, если разные пользователи моего приложения будут отправлять запросы на создание счетов, они получат дублированные номера, как лучше всего это сделать? Любая помощь приветствуется, спасибо