mongoose-keywords
Mongoose plugin that recursively generates keywords for documents based on its fields
Install
npm install --save mongoose-keywords
Usage
Single path
var mongoose = ; var ArtistSchema = name: String; ArtistSchema; var Artist = mongoose; var artist = name: "L'arc~en~Ciel";console; // ['larc en ciel']
Multiple path
var ArtistSchema = name: String genre: String; ArtistSchema; var Artist = mongoose; var artist = name: "L'arc~en~Ciel" genre: 'Jrock';console; // ['larc en ciel', 'jrock']
keywords
path options
Custom You can still define a keywords
path on your schema with predefined options.
var ArtistSchema = name: String keywords: type: String unique: true // new custom option ; ArtistSchema;
keywords
field
Custom var ArtistSchema = name: String; ArtistSchema; var Artist = mongoose; var artist = name: "L'arc~en~Ciel";console; // undefinedconsole; // ['larc en ciel']
transform
option
Custom By default, mongoose-keywords
normalizes the value, but you can provide your own transform function.
var mongoose = ; var ArtistSchema = name: String; ArtistSchema; var Artist = mongoose; var artist = name: "L'arc~en~Ciel";console; // ["L'arc~en~Ciel!!!"]
Nested models
var mongoose = ;var mongooseKeywords = ; var GenreSchema = title: String;GenreSchema; var ArtistSchema = name: String genre: type: mongooseSchemaObjectId ref: 'Genre' ;ArtistSchema; var Genre = mongoose;var genre = title: 'Jrock';console; // ['jrock'] var Artist = mongoose;var artist = name: "L'arc~en~Ciel" genre: genre;console; // ['larc en ciel', 'jrock']
License
MIT © Diego Haz