blow-data
Version:
Data access layer for Blow.
37 lines (36 loc) • 1.91 kB
TypeScript
import { Observable } from 'rxjs';
import * as mongodb from 'mongodb';
import { IQueryWhere, IQuery, IQueryObject } from 'blow-query';
import { Adapter } from './Adapter';
import { IPersistedAdapter, IModelMetadata } from '../interfaces';
export declare class MongoDBAdapter extends Adapter implements IPersistedAdapter {
protected _db: mongodb.Db;
idPropertyName: string;
idPropertyType: any;
protected _connect(): Observable<MongoDBAdapter>;
protected _collection(metadata: IModelMetadata): mongodb.Collection;
protected _prepareQuery(query: IQuery | IQueryObject): IQueryObject;
count(metadata: IModelMetadata, where?: IQueryWhere): Observable<number>;
create(metadata: IModelMetadata, data: any): Observable<any>;
destroy(metadata: IModelMetadata, where?: IQueryWhere): Observable<number>;
destroyById(metadata: IModelMetadata, id: any): Observable<boolean>;
exists(metadata: IModelMetadata, id: any): Observable<boolean>;
find(metadata: IModelMetadata, query?: IQuery | IQueryObject): Observable<any>;
findOne(metadata: IModelMetadata, query?: IQuery | IQueryObject): Observable<any>;
findById(metadata: IModelMetadata, id: any): Observable<any>;
findOrCreate(metadata: IModelMetadata, where: IQueryWhere, data: any): Observable<any>;
update(metadata: IModelMetadata, where: IQueryWhere, data: any): Observable<number>;
updateOrCreate(metadata: IModelMetadata, data: any): Observable<any>;
static toDB(metadata: IModelMetadata, data: any): any;
static fromDB(metadata: IModelMetadata, data: any): any;
static buildWhereWithId(metadata: IModelMetadata, id: any): {
[key: string]: any;
};
static buildWhere(metadata: IModelMetadata, where: {
[key: string]: any;
}): {
[key: string]: any;
};
static buildId(id: any): mongodb.ObjectID;
static getConnectionUrl(options: any): string;
}