* added hint to aggregate * added support for hint in query * added else clause to aggregate * fixed tests * updated tests * Add tests and clean up * Add support for explain Co-authored-by: Diamond Lewis <findlewis@gmail.com>
This commit is contained in:
committed by
Diamond Lewis
parent
5a1d94ed88
commit
9842c6ee42
@@ -4,7 +4,7 @@ import * as middleware from '../middlewares';
|
||||
import Parse from 'parse/node';
|
||||
import UsersRouter from './UsersRouter';
|
||||
|
||||
const BASE_KEYS = ['where', 'distinct', 'pipeline'];
|
||||
const BASE_KEYS = ['where', 'distinct', 'pipeline', 'hint', 'explain'];
|
||||
|
||||
const PIPELINE_KEYS = [
|
||||
'addFields',
|
||||
@@ -46,6 +46,14 @@ export class AggregateRouter extends ClassesRouter {
|
||||
if (body.distinct) {
|
||||
options.distinct = String(body.distinct);
|
||||
}
|
||||
if (body.hint) {
|
||||
options.hint = body.hint;
|
||||
delete body.hint;
|
||||
}
|
||||
if (body.explain) {
|
||||
options.explain = body.explain;
|
||||
delete body.explain;
|
||||
}
|
||||
options.pipeline = AggregateRouter.getPipeline(body);
|
||||
if (typeof body.where === 'string') {
|
||||
body.where = JSON.parse(body.where);
|
||||
@@ -96,7 +104,6 @@ export class AggregateRouter extends ClassesRouter {
|
||||
*/
|
||||
static getPipeline(body) {
|
||||
let pipeline = body.pipeline || body;
|
||||
|
||||
if (!Array.isArray(pipeline)) {
|
||||
pipeline = Object.keys(pipeline).map(key => {
|
||||
return { [key]: pipeline[key] };
|
||||
|
||||
Reference in New Issue
Block a user