Проверка Joi проверки, если запись существует в базе данных - PullRequest
0 голосов
/ 19 ноября 2018

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

{"name": "service A", "active": 1, "provider_id": 2}

Мне нужно проверить, есть ли в коллекции провайдеров mongodb,запись с id: 2 существует.база данных Joi осведомлена вообще?или я должен сделать что-то еще?

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Для MongoDB mongoose может использоваться вместе с joigoose, который легко преобразует схему Joi. Потому что Джой не ORM

Для проверки уникальной электронной почты

// rating.js
const mongoose = require('mongoose')
const joigoose = require('joigoose')(mongoose)

// Require the 'ratings' schema
const schema = require('./rating-schema')

// Convert joi to mongoose schema
const mongooseSchema = joigoose.convert(schema);

// Modify some fields with database specific instructions 
mongooseSchema.email.unique = true

// Add fields which don't make sense on the schema validator
mongooseSchema.updatedAt = { type: Date, default: Date.now }
mongooseSchema.createdAt = { type: Date, default: Date.now }

// Define mongoose model
const Ratings = mongoose.model('Ratings', mongooseSchema)

module.exports = Ratings

Ссылка: https://codeburst.io/joi-validate-input-and-define-databases-in-javascript-84adc6f1474b Ссылка: https://github.com/yoitsro/joigoose

0 голосов
/ 19 ноября 2018

joi - это просто инструмент проверки JSON, в нем нет возможности подключения к базе данных.

Вы можете использовать прямой запрос к БД или ORM для проверки наличия или отсутствия записи.

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