mongodb-get-updates
v1.0.3
Published
A utility for getting mongo updates
Downloads
2
Readme
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