проверьте, существует ли перед сохранением документа mongodb - PullRequest
0 голосов
/ 25 мая 2020

Я пытаюсь сохранить документ, содержащий строку, которая должна быть уникальной в моей коллекции.

Это модель:

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 ...

Итак, я заблокировал нижнюю часть после отправки запроса. .. но я боюсь, что в будущем, если разные пользователи моего приложения будут отправлять запросы на создание счетов, они получат дублированные номера, как лучше всего это сделать? Любая помощь приветствуется, спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...