1.0.1 • Published 7 years ago

mongo-project v1.0.1

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

mongo-project

Build Status Coverage Status Dependencies Status

Simplified MongoDB style projection for hiding/showing specific fields.

npm install mongo-project

Usage

Hide some fields from an object

const project = require('mongo-project');

const object = {
  title: 'Bar title',
  author: {
    name: 'Foo Person',
    email: 'foo.person@example.com',
  },
};

const projectedObject = project(object, {
  'author.email': 0,
});

console.dir(projectedObject);
// {
//   title: 'Bar title',
//   author: {
//     name: 'Foo Person'
//   }
// }

Only show specific fields of an object

const project = require('mongo-project');

const object = {
  title: 'Bar title',
  author: {
    name: 'Foo Person',
    email: 'foo.person@example.com',
  },
};

const projectedObject = project(object, {
  'title': 1,
  'author.name': 1,
});

console.dir(projectedObject);
// {
//   title: 'Bar title',
//   author: {
//     name: 'Foo Person'
//   }
// }

More complex examples can be found in the tests.

$, $elemMatch, $slice, $meta

The operators of MongoDBs projection are not supported.