mongodb-stitch
Version:
[](https://gitter.im/mongodb/stitch?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
17 lines (16 loc) • 1.21 kB
TypeScript
import { Codec } from "mongodb-stitch-core-sdk";
import { RemoteCountOptions, RemoteDeleteResult, RemoteFindOptions, RemoteInsertManyResult, RemoteInsertOneResult, RemoteUpdateOptions, RemoteUpdateResult } from "mongodb-stitch-core-services-mongodb-remote";
import RemoteMongoReadOperation from "./RemoteMongoReadOperation";
export default interface RemoteMongoCollection<DocumentT> {
readonly namespace: string;
withCollectionType<U>(codec: Codec<U>): RemoteMongoCollection<U>;
count(query?: object, options?: RemoteCountOptions): Promise<number>;
find(query?: object, options?: RemoteFindOptions): RemoteMongoReadOperation<DocumentT>;
aggregate(pipeline: object[]): RemoteMongoReadOperation<DocumentT>;
insertOne(document: DocumentT): Promise<RemoteInsertOneResult>;
insertMany(documents: DocumentT[]): Promise<RemoteInsertManyResult>;
deleteOne(query: object): Promise<RemoteDeleteResult>;
deleteMany(query: object): Promise<RemoteDeleteResult>;
updateOne(query: object, update: object, updateOptions?: RemoteUpdateOptions): Promise<RemoteUpdateResult>;
updateMany(query: object, update: object, updateOptions?: RemoteUpdateOptions): Promise<RemoteUpdateResult>;
}