mongodb-stitch
Version:
[](https://gitter.im/mongodb/stitch?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
25 lines (24 loc) • 1.55 kB
TypeScript
import { Codec, Stream } from "mongodb-stitch-core-sdk";
import ChangeEvent from "../ChangeEvent";
import RemoteCountOptions from "../RemoteCountOptions";
import RemoteDeleteResult from "../RemoteDeleteResult";
import RemoteFindOptions from "../RemoteFindOptions";
import RemoteInsertManyResult from "../RemoteInsertManyResult";
import RemoteInsertOneResult from "../RemoteInsertOneResult";
import RemoteUpdateOptions from "../RemoteUpdateOptions";
import RemoteUpdateResult from "../RemoteUpdateResult";
import CoreRemoteMongoReadOperation from "./CoreRemoteMongoReadOperation";
export default interface CoreRemoteMongoCollection<DocumentT> {
readonly namespace: string;
withCollectionType<U>(codec: Codec<U>): CoreRemoteMongoCollection<U>;
count(query?: object, options?: RemoteCountOptions): Promise<number>;
find(query?: object, options?: RemoteFindOptions): CoreRemoteMongoReadOperation<DocumentT>;
aggregate(pipeline: object[]): CoreRemoteMongoReadOperation<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>;
watch(ids: any[]): Promise<Stream<ChangeEvent<DocumentT>>>;
}