Я пишу маршруты REST API для регистрации пользователей в таблице динамо-базы данных, перед вставкой каждой записи я хотел бы выполнить быстрое сканирование всех записей в таблице пользователей, чтобы предотвратить дублирование.
какой метод Будет ли наиболее подходящим в таких случаях запрос или сканирование, или быстрая и экономичная альтернатива? и как я могу реализовать этот лог c в моем коде
AWS.config.update(config.aws_remote_config);
docClient = new AWS.DynamoDB.DocumentClient();
const tableName = 'user';
]router.post(
'/',
[
check('name', 'Name is a required field').not().isEmpty(),
check('email', 'Please include a valid email').isEmail(),
check(
'password',
'please enter a password with 6 or more characters'
).isLength({ min: 6 }),
],
async (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
const { name, email, password } = req.body;
try {
//saving in dynamo db
let awsuser = {
_id: uuidv4(),
name: name,
email: email,
password: await bcrypt.hash(password, salt),
createdOn: moment().unix(),
};
//****
docClient.put(
{
TableName: tableName,
Item: awsuser,
},
async (err, data) => {
if (err) {
console.log(err);
return res.status(err.statusCode).send({
message: err.message,
status: err.statusCode,
});
} else {
return res.status(200).send(awsuser);
}
}
);
} catch (err) {
console.log(err.message);
//req.status(500).send('server error');
}
}
);
module.exports = router;