A Mongoose plugin for friendly URLs.


Friendly URLs for you Mongoose models.

Simply install the mongoose-friendly plugin in your schema like this:

var mongoose = require('mongoose');
var friendly = require('mongoose-friendly');
var MySchema = new mongoose.Schema({ title: String });

A static method findByFriendly is added to your schema, and you can use it as if you were using findById.

Here are the options (as defaults) you can pass when installing the plugin:

MySchema.plugin(friendly, {
  source: 'title',  // Attribute to generate the friendly version from. 
  friendly: 'slug', // Attribute to set the friendly version of source. 
  addIndex: true,   // Sets {unique: true} as index for the friendly attribute. 
  findById: true    // Turns findById into an alias for findByFriendly. 

This is licensed under the feel-free-to-do-whatever-you-want-to-do license.