簡體   English   中英

用貓鼬查詢驗證對象

[英]Validate object with mongoose query

我需要用貓鼬查詢來驗證對象。

例如,我有對象:

const user = {username: 'foo', email: 'foo@mail', type: 2};

和貓鼬查詢

const query = { type: { '$in': [ 2, 1 ] };

所以我需要這樣的東西:

const isValid = validate(user, query);  // true

要驗證數據,如果需要指定范圍,可以使用built-in validators

var DataSchema = new mongoose.Schema({
    username: String,
    email: String,
    type: {
        type: Number,
        min: [1, 'Error type must be > 0'],
        max: [2, 'Error type must be < 3']
    }
});

custom validators ,如果要檢查數組中的值:

var acceptedTypes = [2, 1];

var DataSchema = new mongoose.Schema({
    username: String,
    email: String,
    type: {
        type: Number,
        validate: {
            validator: function(v) {
                for (var i = 0; i < acceptedTypes.length; i++) {
                    return (acceptedTypes[i] == v);
                }
                return false;
            },
            message: '[type] is not an accepted value'
        }
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM