Mongodb MongoosJS模式非空字符串

Mongodb MongoosJS模式非空字符串,mongodb,mongoose,Mongodb,Mongoose,我有下面的模式定义: var mongoose = require('mongoose'); var CategorySchema = new mongoose.Schema({ name: {type: String, index: { unique: true }}, description: String }); module.exports = mongoose.model('Category', CategorySchema); 如何指定名称将不接受空字符串。根据

我有下面的模式定义:

var mongoose = require('mongoose');

var CategorySchema = new mongoose.Schema({
    name: {type: String, index: { unique: true }},
    description: String
});

module.exports = mongoose.model('Category', CategorySchema);
如何指定
名称
将不接受空字符串。

根据需要设置字段将完成以下操作:

var CategorySchema = new mongoose.Schema({
    name: {type: String, required: true, index: { unique: true }},
    description: String
});
var CategorySchema = new mongoose.Schema({
    name: {type: String, validate: /\S+/, index: { unique: true }},
    description: String
});
另一个选项是添加验证正则表达式,如下所示:

var CategorySchema = new mongoose.Schema({
    name: {type: String, required: true, index: { unique: true }},
    description: String
});
var CategorySchema = new mongoose.Schema({
    name: {type: String, validate: /\S+/, index: { unique: true }},
    description: String
});
根据需要设置字段将完成以下操作:

var CategorySchema = new mongoose.Schema({
    name: {type: String, required: true, index: { unique: true }},
    description: String
});
var CategorySchema = new mongoose.Schema({
    name: {type: String, validate: /\S+/, index: { unique: true }},
    description: String
});
另一个选项是添加验证正则表达式,如下所示:

var CategorySchema = new mongoose.Schema({
    name: {type: String, required: true, index: { unique: true }},
    description: String
});
var CategorySchema = new mongoose.Schema({
    name: {type: String, validate: /\S+/, index: { unique: true }},
    description: String
});

对于可选字符串,我使用了:validate://^$|\S+/对于可选字符串,我使用了:validate://^$|\S+/