Skip to content
Friendly URLs for your Mongoose models
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Build Status Dependency Status NPM version

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.
  update: false,    // Updates friendly field on subsequent saves.
  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.

Something went wrong with that request. Please try again.