Есть ли способ избежать генерации повторяющихся записей? - PullRequest
0 голосов
/ 26 апреля 2020

Я настроил express бэкэнд, где мне нужно самому кодировать свои маршруты. Для маршрута POST мы должны убедиться, что имя уже не присутствует в жестко заданном массиве, прежде чем мы его примем. Я использовал для этого некоторую функцию и это работает в некоторой степени. Вызывает ошибку после однократного повторения записи, есть ли способ предотвратить это первоначальное дублирование?

const express = require('express')
const app = express()

app.use(express.json())

let persons = [
    {
        "name": "Dan Abramov",
        "number": "12-43-234345",
        "id": 1
      },
      {
        "name": "Mary Poppendieck",
        "number": "39-23-6423122",
        "id": 2
      },
      {
        "name": "Kshitij Tapre ",
        "number": "81131381",
        "id": 3
      }
]

app.post('/api/persons', (req, res) => {
  const person = req.body
  const chkname=person.name
  console.log(persons.some(e1=>e1.name===chkname))
  if (persons.some(e1=>e1.name===chkname)) {
    res.status(406).send('Name already exists')    
  }else{
    if (person.name&&person.number) {
      person.id=genId(persons)
      persons = persons.concat(person)
      res.json(person)
    }else{
      res.status(406).send('Data incomplete')
    }
  }

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