0.1.3 • Published 10 years ago

mongoose-checkit v0.1.3

Weekly downloads
1
License
MIT
Repository
github
Last release
10 years ago

mongoose-checkit

Build Status Dependency Status devDependency Status

A Checkit plugin for Mongoose

Installation

npm install --save mongoose-checkit

Usage

var User, checkit, mongoose, userSchema;

mongoose = require('mongoose');
checkit = require('mongoose-checkit');
mongoose.connect('mongodb://localhost/mongoose-checkit');

userSchema = new mongoose.Schema({
  username: {
    type: String,
    checkit: ['required', 'alphaDash']
  },
  email: {
    type: String,
    checkit: ['required', 'email']
  }
});

userSchema.plugin(checkit);

User = mongoose.model('User', userSchema);

Advanced Usage

var Checkit, User, checkit, mongoose, userSchema;

Checkit = require('checkit');
mongoose = require('mongoose');
checkit = require('mongoose-checkit');
mongoose.connect('mongodb://localhost/mongoose-checkit');

Checkit.Validators.unused = function(value, table, column) {
  var attrs;
  attrs = {};
  attrs[column] = value;
  return mongoose.model(table).find(attrs).limit(1).count().exec().then(function(count) {
    if (count) {
      throw new Error("The " + column + " field is already in use.");
    }
  });
};

userSchema = new mongoose.Schema({
  username: {
    type: String,
    unique: true,
    checkit: ['required', 'alphaDash', 'unused:User:username']
  },
  email: {
    type: String,
    unique: true,
    checkit: ['required', 'email', 'unused:User:email']
  }
});

userSchema.plugin(checkit, Checkit);

User = mongoose.model('User', userSchema);