1.2.3 • Published 9 years ago
mongoose-adapter v1.2.3
mongoose-adapter

Make the mongoose easy to use.
Install
Install the components
$ npm install mongoose-adapter mockgoose mongoose --saveQuick Start
You can use TypeScirpt or JavaScript. Up to you.
TypeScript
Implement the BaseRepository for your mongoose collections.
//myUnitOfWork.ts
import { UnitOfWorkBase } from "mongoose-adapter";
import { PersonRep } from './personRep';
export class MyUnitOfWork extends UnitOfWorkBase {
constructor() {
super();
}
reps = {
personRep: new PersonRep(this),
};
}
//personRep.ts
import * as mongoose from "mongoose";
import { UnitOfWorkBase, RepositoryBase } from "mongoose-adapter";
export class PersonRep extends RepositoryBase<IPerson> {
constructor(unitOfWork: UnitOfWorkBase) {
super(unitOfWork);
}
getCollectionName() {
return 'Person';
}
getSchema(): mongoose.Schema {
const userSchema = {
_id: { type: String, index: { unique: true } },
name: { type: String },
age: { type: Number },
birthday: { type: Date },
};
const s = new mongoose.Schema(userSchema);
return s;
}
}
export interface IPerson extends mongoose.Document {
_id: string;
name: string;
age: number;
birthday: Date;
}Examples for CRUD
// ==== create data =====
let myDb = new UnitOfWork();
var entity = myDb.reps.personRep.createNewEntity();
entity._id = "1qaz2wsx";
entity.name = "Bibby Chung";
entity.age = 18;
entity.birthday = new Date("1990-04-01 13:20:30");
myDb.add(entity);
await myDb.saveChangeAsync();
//==== update data ====
let myDb = new UnitOfWork();
let data = await myDb.reps.personRep.getAll()
.find({ _id: "1qaz2wsx" })
.exec();
let entity = data[0];
entity.name = "Bibby Chung 1";
entity.age = 22;
entity.birthday = new Date("1995-08-08 13:20:30");
myDb.update(entity);
await myDb.saveChangeAsync();
//==== delete data ====
let myDb = new UnitOfWork();
let data = await myDb.reps.personRep.getAll()
.find({ _id: "1qaz2wsx" })
.exec();
for (let item of data) {
myDb.remove(item);
}
await myDb.saveChangeAsync();
//==== get data ====
let myDb = new UnitOfWork();
let data = await myDb.reps.personRep.getAll()
.find({ _id: "1qaz2wsx" })
.exec();JavaScript
(later..)
Todo
- add the transacation
1.2.3
9 years ago
1.2.2
9 years ago
1.2.0
9 years ago
1.1.8
9 years ago
1.1.6
9 years ago
1.1.5
9 years ago
1.1.4
9 years ago
1.1.2
9 years ago
1.1.0
10 years ago
1.0.18
10 years ago
1.0.16
10 years ago
1.0.14
10 years ago
1.0.13
10 years ago
1.0.12
10 years ago
1.0.11
10 years ago
1.0.10
10 years ago
1.0.9
10 years ago
1.0.8
10 years ago
1.0.7
10 years ago
1.0.6
10 years ago
1.0.5
10 years ago
1.0.4
10 years ago
1.0.3
10 years ago
1.0.2
10 years ago
1.0.0
10 years ago