mongo-project

1.0.1 • Public • Published

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.

Package Sidebar

Install

npm i mongo-project

Weekly Downloads

213

Version

1.0.1

License

MIT

Last publish

Collaborators

  • patrickd-
  • mogbert
  • schlagbauer