mongodb-get-updates

1.0.3 • Public • Published

Get Updates

Deep compares two documents and creates a Mongo updates object, useful when wanting to sync between client and server. Originaly created as a utility for angular-meteor.

Usage

This module exports a function which gets the following parameters:

  • src - A source object to compare with.
  • dst - A destination object to compare to.
  • isShallow - Represents the deepness level of the comparison, by default, will do a deep comparison. Can either be a truthy value or a number bigger than 1. If truthy, will perform a shallow comparison. If a number bigger than 1, will perform a limited comparison as specified.

Example

var src = {
  obj: {
    prop: 'value'
  },
 
  arr: [1, 2, 3]
};
 
var dst = {
  obj: {
    prop: 'changedValue'
  },
 
  arr: [1, 2]
};
 
expect(getUpdates(src, dst)).to.deep.equal({
  $set: {
    'obj.prop': 'changedValue'
  },
 
  $unset: {
    'arr.2': undefined
  },
 
  $pull: {
    'arr': null
  },
});

Download

The source is available for download from GitHub. Alternatively, you can install using:

  • npm install mongodb-get-updates
  • meteor add dab0mb:get-updates

Readme

Keywords

Package Sidebar

Install

npm i mongodb-get-updates

Weekly Downloads

4

Version

1.0.3

License

none

Last publish

Collaborators

  • dab0mb