Data Modification - Agrejus/pouchdb-entity-fabric GitHub Wiki

Data is persisted to the underlying PouchDB database via DbSets

Adding

export class PouchDbDataContext extends DataContext<DocumentTypes> {
    myFirstDbSet = this.dbset().default<IMyFirstEntity>(DocumentTypes.MyFirstDocument).create();
}

const context = new PouchDbDataContext();
const [addedDocument] = await context.myFirstDbSet.add({
  propertyOne: "some value",
  propertyTwo: "some other value"
});
await context.saveChanges();

Updating

export class PouchDbDataContext extends DataContext<DocumentTypes> {
    myFirstDbSet = this.dbset().default<IMyFirstEntity>(DocumentTypes.MyFirstDocument).create();
}

const context = new PouchDbDataContext();
const found = await context.myFirstDbSet.find(w => w.propertyOne === "some value");

found.propertyTwo = "Updated";

await context.saveChanges();

Deleting

export class PouchDbDataContext extends DataContext<DocumentTypes> {
    myFirstDbSet = this.dbset().default<IMyFirstEntity>(DocumentTypes.MyFirstDocument).create();
}

const context = new PouchDbDataContext();
const found = await context.myFirstDbSet.find(w => w.propertyOne === "some value");

await context.remove(found);

await context.saveChanges();