query.d.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { OrderByDirection } from './constant';
  2. import { IWatchOptions, DBRealtimeListener } from './typings/index';
  3. interface GetRes {
  4. data: any[];
  5. requestId: string;
  6. total: number;
  7. limit: number;
  8. offset: number;
  9. }
  10. interface BaseOption {
  11. timeout?: number;
  12. raw?: boolean;
  13. }
  14. export interface QueryOption extends BaseOption {
  15. limit?: number;
  16. offset?: number;
  17. projection?: Object;
  18. order?: Record<string, any>[];
  19. }
  20. export interface UpdateOption extends BaseOption {
  21. multiple?: boolean;
  22. }
  23. export declare class Query {
  24. protected _transactionId: string;
  25. get(): Promise<GetRes>;
  26. count(): Promise<any>;
  27. where(query: object): Query;
  28. options(apiOptions: QueryOption | UpdateOption): Query;
  29. orderBy(fieldPath: string, directionStr: OrderByDirection): Query;
  30. limit(limit: number): Query;
  31. skip(offset: number): Query;
  32. update(data: Object): Promise<any>;
  33. field(projection: any): Query;
  34. remove(): Promise<any>;
  35. updateAndReturn(data: Object): Promise<any>;
  36. watch: (options: IWatchOptions) => DBRealtimeListener;
  37. }
  38. export {};