Fix Aggregate Match Pointer (#4643)
This commit is contained in:
@@ -13,6 +13,10 @@ const masterKeyOptions = {
|
|||||||
json: true
|
json: true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const PointerObject = Parse.Object.extend({
|
||||||
|
className: "PointerObject"
|
||||||
|
});
|
||||||
|
|
||||||
const loadTestData = () => {
|
const loadTestData = () => {
|
||||||
const data1 = {score: 10, name: 'foo', sender: {group: 'A'}, views: 900, size: ['S', 'M']};
|
const data1 = {score: 10, name: 'foo', sender: {group: 'A'}, views: 900, size: ['S', 'M']};
|
||||||
const data2 = {score: 10, name: 'foo', sender: {group: 'A'}, views: 800, size: ['M', 'L']};
|
const data2 = {score: 10, name: 'foo', sender: {group: 'A'}, views: 800, size: ['M', 'L']};
|
||||||
@@ -448,8 +452,8 @@ describe('Parse.Query Aggregate testing', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('match pointer query', (done) => {
|
it('match pointer query', (done) => {
|
||||||
const pointer1 = new TestObject();
|
const pointer1 = new PointerObject();
|
||||||
const pointer2 = new TestObject();
|
const pointer2 = new PointerObject();
|
||||||
const obj1 = new TestObject({ pointer: pointer1 });
|
const obj1 = new TestObject({ pointer: pointer1 });
|
||||||
const obj2 = new TestObject({ pointer: pointer2 });
|
const obj2 = new TestObject({ pointer: pointer2 });
|
||||||
const obj3 = new TestObject({ pointer: pointer1 });
|
const obj3 = new TestObject({ pointer: pointer1 });
|
||||||
@@ -618,8 +622,8 @@ describe('Parse.Query Aggregate testing', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('distinct pointer', (done) => {
|
it('distinct pointer', (done) => {
|
||||||
const pointer1 = new TestObject();
|
const pointer1 = new PointerObject();
|
||||||
const pointer2 = new TestObject();
|
const pointer2 = new PointerObject();
|
||||||
const obj1 = new TestObject({ pointer: pointer1 });
|
const obj1 = new TestObject({ pointer: pointer1 });
|
||||||
const obj2 = new TestObject({ pointer: pointer2 });
|
const obj2 = new TestObject({ pointer: pointer2 });
|
||||||
const obj3 = new TestObject({ pointer: pointer1 });
|
const obj3 = new TestObject({ pointer: pointer1 });
|
||||||
|
|||||||
@@ -567,7 +567,7 @@ export class MongoStorageAdapter implements StorageAdapter {
|
|||||||
if (stage.$match) {
|
if (stage.$match) {
|
||||||
for (const field in stage.$match) {
|
for (const field in stage.$match) {
|
||||||
if (schema.fields[field] && schema.fields[field].type === 'Pointer') {
|
if (schema.fields[field] && schema.fields[field].type === 'Pointer') {
|
||||||
const transformMatch = { [`_p_${field}`] : `${className}$${stage.$match[field]}` };
|
const transformMatch = { [`_p_${field}`] : `${schema.fields[field].targetClass}$${stage.$match[field]}` };
|
||||||
stage.$match = transformMatch;
|
stage.$match = transformMatch;
|
||||||
}
|
}
|
||||||
if (field === 'objectId') {
|
if (field === 'objectId') {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import PromiseRouter from '../PromiseRouter';
|
import PromiseRouter from '../PromiseRouter';
|
||||||
import * as middleware from '../middlewares';
|
import * as middleware from '../middlewares';
|
||||||
|
import Parse from 'parse/node';
|
||||||
|
|
||||||
export class PurgeRouter extends PromiseRouter {
|
export class PurgeRouter extends PromiseRouter {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user