Join验证检查数据库中是否存在记录



我使用Join验证来验证输入数据,考虑到我将创建一个服务和张贴体是:

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

我需要能够检查在mongodb providers集合中,是否使用id:2进行记录存在。Joi数据库知道吗?还是我应该做别的事?

对于MongoDB,mongoose可以与joigoose一起使用,后者可以轻松地转换Joi模式。因为joi不是ORM

用于ex唯一的电子邮件验证

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

joi只是一个JSON验证器工具,其中没有提供数据库连接。

您可以使用直接DB查询或ORM来检查记录是否存在。

相关内容

  • 没有找到相关文章

最新更新