Wondering what’s next for npm?Check out our public roadmap! »

This package has been deprecated

Author message:

This package has moved to @meanie/mongoose-to-json

meanie-mongoose-to-json

1.3.0 • Public • Published

meanie-mongoose-to-json

npm version node dependencies github issues codacy

A simple plugin for Mongoose to normalize JSON output, for use with Meanie Express Seed projects

Meanie

Installation

You can install this package using npm.

npm install meanie-mongoose-to-json --save

Usage

As a global plugin for all Mongoose schema's:

const mongoose = require('mongoose');
mongoose.plugin(require('meanie-mongoose-to-json'));

NOTE: as of Mongoose 4.5.4 this does not work for sub schema's yet, see #4271.

For a specific (sub) schema:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const MySchema = new Schema({});
MySchema.plugin(require('meanie-mongoose-to-json'));

This plugin will normalize JSON output for client side applications from:

{
  "_id": "400e8324a71d4410b9dc3980b5f8cdea",
  "__v": 2,
  "name": "Item A"
}

To a simpler:

{
  "id": "400e8324a71d4410b9dc3980b5f8cdea",
  "name": "Item A"
}

From version 1.1.0 onwards, this plugin now also removes private paths from the JSON, e.g.:

const mongoose = require('mongoose');
const toJson = require('meanie-mongoose-to-json');
 
const schema = new mongoose.Schema({
  email: {type: String},
  password: {type: String, private: true},
});
 
schema.plugin(toJson);
 
const User = mongoose.model('users', schema);
const user = new User({email: 'test@test.com', password: 'test'});
 
console.log(user.toJSON());

This will output:

{
  "id": "400e8324a71d4410b9dc3980b5f8cdea",
  "email": "test@test.com"
}

Issues & feature requests

Please report any bugs, issues, suggestions and feature requests in the meanie-mongoose-to-json issue tracker.

Contributing

Pull requests are welcome! If you would like to contribute to Meanie, please check out the Meanie contributing guidelines.

Credits

License

(MIT License)

Copyright 2016-2017, Adam Reis

Install

npm i meanie-mongoose-to-json

DownloadsWeekly Downloads

319

Version

1.3.0

License

MIT

Last publish

Collaborators

  • avatar