Fix: aggregate not matching null values (#6043)
* Fix: aggregate not matching null values * Exclude Postgres from this new test - it does not even support and is not working correctly - should be addressed separately
This commit is contained in:
committed by
Diamond Lewis
parent
a754b883b2
commit
84776810b8
@@ -941,6 +941,52 @@ describe('Parse.Query Aggregate testing', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it_exclude_dbs(['postgres'])('match null values', async () => {
|
||||
const obj1 = new Parse.Object('MyCollection');
|
||||
obj1.set('language', 'en');
|
||||
obj1.set('otherField', 1);
|
||||
const obj2 = new Parse.Object('MyCollection');
|
||||
obj2.set('language', 'en');
|
||||
obj2.set('otherField', 2);
|
||||
const obj3 = new Parse.Object('MyCollection');
|
||||
obj3.set('language', null);
|
||||
obj3.set('otherField', 3);
|
||||
const obj4 = new Parse.Object('MyCollection');
|
||||
obj4.set('language', null);
|
||||
obj4.set('otherField', 4);
|
||||
const obj5 = new Parse.Object('MyCollection');
|
||||
obj5.set('language', 'pt');
|
||||
obj5.set('otherField', 5);
|
||||
const obj6 = new Parse.Object('MyCollection');
|
||||
obj6.set('language', 'pt');
|
||||
obj6.set('otherField', 6);
|
||||
await Parse.Object.saveAll([obj1, obj2, obj3, obj4, obj5, obj6]);
|
||||
|
||||
expect(
|
||||
(await new Parse.Query('MyCollection').aggregate([
|
||||
{
|
||||
match: {
|
||||
language: { $in: [null, 'en'] },
|
||||
},
|
||||
},
|
||||
]))
|
||||
.map(value => value.otherField)
|
||||
.sort()
|
||||
).toEqual([1, 2, 3, 4]);
|
||||
|
||||
expect(
|
||||
(await new Parse.Query('MyCollection').aggregate([
|
||||
{
|
||||
match: {
|
||||
$or: [{ language: 'en' }, { language: null }],
|
||||
},
|
||||
},
|
||||
]))
|
||||
.map(value => value.otherField)
|
||||
.sort()
|
||||
).toEqual([1, 2, 3, 4]);
|
||||
});
|
||||
|
||||
it('project query', done => {
|
||||
const options = Object.assign({}, masterKeyOptions, {
|
||||
body: {
|
||||
|
||||
Reference in New Issue
Block a user