diff --git a/spec/QueryTools.spec.js b/spec/QueryTools.spec.js index dbd3c9a5d3..8dbda98b0a 100644 --- a/spec/QueryTools.spec.js +++ b/spec/QueryTools.spec.js @@ -125,6 +125,35 @@ describe('matchesQuery', function () { expect(matchesQuery(obj, q)).toBe(false); }); + it('matches queries with eq constraint', function () { + const obj = { + objectId: 'Person2', + score: 12, + name: 'Tom', + }; + + const q1 = { + objectId: { + $eq: 'Person2', + }, + }; + + const q2 = { + score: { + $eq: 12, + }, + }; + + const q3 = { + name: { + $eq: 'Tom', + }, + }; + expect(matchesQuery(obj, q1)).toBe(true); + expect(matchesQuery(obj, q2)).toBe(true); + expect(matchesQuery(obj, q3)).toBe(true); + }); + it('matches on equality queries', function () { const day = new Date(); const location = new Parse.GeoPoint({ diff --git a/src/LiveQuery/QueryTools.js b/src/LiveQuery/QueryTools.js index 50d8d3394a..1607278f46 100644 --- a/src/LiveQuery/QueryTools.js +++ b/src/LiveQuery/QueryTools.js @@ -247,6 +247,11 @@ function matchesKeyConstraints(object, key, constraints) { return false; } break; + case '$eq': + if (!equalObjects(object[key], compareTo)) { + return false; + } + break; case '$ne': if (equalObjects(object[key], compareTo)) { return false;