mongoose-helpers

    0.1.0 • Public • Published

    Mongoose Helpers

    Provides some helpers methods for Mongoose. Generally it makes it easier to search/manipulate embedded documents.

    Install

    npm install mongoose-helpers

    Examples

    Given the following models

    var SongSchema = new Schema({
    	name: String
    });
    
    var AlbumSchema = new Schema({
    	songs: [SongSchema],
    	name: String,
    	releaseDate: Date,
    	trackNum: Number
    });
    
    var ArtistSchema = new Schema({
    	albums: [AlbumSchema],
    	name: String
    });
    
    this.Artist = mongoose.model('Artist', ArtistSchema);

    ...you can now do the following:

    Artist.findOne({ name: 'Nine Inch Nails' }, function(error, artist) {
    	
    	// Sort the albums by release date, ascending
    	artist.albums.sortAsc('releaseDate');
    	
    	// Sort the albums by release date, descending
    	artist.albums.sortDesc('releaseDate');
    	
    	// You can even sort by functions. This example sorts albums by least amount of songs to greatest
    	artist.albums.sortAsc('songs.length');
    	
    	// Filter embedded documents by different properties. Unlike mongoose, this
    	// function returns the found objects in an array instead of relying on a
    	// callback
    	artist.albums.find({ name: 'Pretty Hate Machine' });
    	
    	// ...and the findOne function only returns one object
    	artist.albums.findOne({ name: 'Pretty Hate Machine' });
    	
    	// It works with all embedded documents
    	var album = artist.albums.findOne({ name: 'Pretty Hate Machine' });
    	album.songs.sortAsc('trackNum');
    	
    });

    Keywords

    none

    Install

    npm i mongoose-helpers

    DownloadsWeekly Downloads

    0

    Version

    0.1.0

    License

    none

    Last publish

    Collaborators

    • bcurry