1.3.0 • Published 7 years ago

meanie-mongoose-to-json v1.3.0

Weekly downloads
313
License
MIT
Repository
github
Last release
7 years ago

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

1.3.0

7 years ago

1.2.1

7 years ago

1.2.0

7 years ago

1.1.0

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago