fix: useFacet config option to disable $facet aggregation (#2141)
This commit is contained in:
@@ -77,7 +77,10 @@ export type InitOptions = {
|
||||
/** Mongo connection URL, starts with `mongo` */
|
||||
mongoURL: string | false;
|
||||
/** Extra configuration options that will be passed to Mongo */
|
||||
mongoOptions?: ConnectOptions;
|
||||
mongoOptions?: ConnectOptions & {
|
||||
/** Set false to disable $facet aggregation in non-supporting databases, Defaults to true */
|
||||
useFacet?: boolean
|
||||
};
|
||||
|
||||
/** Secure string that Payload will use for any encryption workflows */
|
||||
secret: string;
|
||||
|
||||
@@ -90,6 +90,8 @@ export class BasePayload<TGeneratedTypes extends GeneratedTypes> {
|
||||
|
||||
mongoURL: string | false;
|
||||
|
||||
mongoOptions: InitOptions['mongoOptions'];
|
||||
|
||||
mongoMemoryServer: any
|
||||
|
||||
local: boolean;
|
||||
@@ -140,6 +142,7 @@ export class BasePayload<TGeneratedTypes extends GeneratedTypes> {
|
||||
async init(options: InitOptions): Promise<Payload> {
|
||||
this.logger = Logger('payload', options.loggerOptions);
|
||||
this.mongoURL = options.mongoURL;
|
||||
this.mongoOptions = options.mongoOptions;
|
||||
|
||||
if (this.mongoURL) {
|
||||
mongoose.set('strictQuery', false);
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { PaginateOptions } from 'mongoose';
|
||||
import { AccessResult } from '../../config/types';
|
||||
import { Where } from '../../types';
|
||||
import { Payload } from '../../payload';
|
||||
@@ -17,7 +18,7 @@ type Args = {
|
||||
accessResult: AccessResult
|
||||
collection: Collection
|
||||
locale: string
|
||||
paginationOptions: any
|
||||
paginationOptions: PaginateOptions
|
||||
payload: Payload
|
||||
where: Where
|
||||
}
|
||||
@@ -76,7 +77,8 @@ export const queryDrafts = async <T extends TypeWithID>({
|
||||
const result = await VersionModel.aggregatePaginate(aggregate, {
|
||||
...paginationOptions,
|
||||
sort: paginationSort,
|
||||
});
|
||||
useFacet: payload.mongoOptions?.useFacet,
|
||||
} as PaginateOptions);
|
||||
|
||||
return {
|
||||
...result,
|
||||
|
||||
Reference in New Issue
Block a user