Use minimongo in your Angular 2 app. This package exposes the minimongo library as an Angular2 module with providers.
$ npm install --save angular2-minimongo
import { MinimongoModule } from 'angular2-minimongo';
@NgModule({
imports: [
MinimongoModule.forRoot({ namespace: '#your-database-namespace' }),
]
})
export class AppModule { }
import { MinimongoService } from 'angular2-minimongo';
@Injectable()
export class TaskService {
tasksCollection = this.minimongo.getCollection<Task>('tasks');
constructor(private minimongo: MinimongoService) {
}
}
/*
Types are the best documentation.
Collections provided by the Minimongo service implement the ObservableCollection interface.
Parameters named selector and docs are standard mongo selectors.
*/
export interface ObservableCollection<T> {
findOne(id: string): Observable<T>;
findOne(selector: any, options?: any): Observable<T>;
find(selector?: any, options?: any): Observable<T[]>;
upsert(doc: T): Observable<T>;
upsert(docs: T[]): Observable<T[]>;
remove(id: string): Observable<void>;
}
Project is based on the angular-cli. To run tests on this package just run:
ng test
- Implement additional and more robust collection methods