npm.io
1.0.1 • Published 9 years ago

mongo-project

Licence
MIT
Version
1.0.1
Deps
0
Vulns
0
Weekly
0
Stars
1

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.

Keywords