0.0.20 • Published 1 year ago

mongoosejs-model v0.0.20

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

Mongoose.js model manager by javascript class

Installation instruction:

npm install mongoosejs-model

Use:

Connect to databse

const mongoose = require("mongoose");

const startDatabase = () => {
  return new Promise((resolve, reject) => {
    mongoose.connect(uri)
      .then(() => {
        console.log("💪 connected to DB.");
        resolve();
      })
      .catch(err => {
        console.log("DB connection error:", err);
        startDatabase();
        reject(err);
      });
  });
};
const { init } = require("mongoosejs-model");
init(require("mongoose"));

Define field

const { Field } = require("mongoosejs-model");
let field1 = new Field({
  isRequire: true,
  isArray: true,
  default: ["test"],
  type: String,
});

Define enum

const { Enum } = require("mongoosejs-model");
let field1 = new Enum({
  multi: false,
  default: "E1",
  keys: ["E1", "E2"],
});

OR

const { Enum } = require("mongoosejs-model");
let field2 = new Enum({
  multi: true,
  default: ["E1"],
  keys: ["E1", "E2"],
});

Define model as subdocument:

const { Model, Field } = require("mongoosejs-model");

class Person extends Model {
  firstName = new Field({ isRequire: true, type: String });
  lastName = new Field({ isRequire: true, type: String });
}

Model enum methods:

Define model as collection

Inheritance models

Define virtual fields

Use collection methods

Define collection methods

Create new document

Use aggregation in collection methods

Sort result (by aggregation)

Filter result (by aggregation)

Complecated filters

Filter operators

  • Key part:
No.SymbolOperatorSample
1|Or{"firstName|lastName": ...}
2!Not{"gender!": ...}
3>Greater{"age>": ...}
4>=Greater Or Equal{"age>=": ...}
5>Less{"age<": ...}
6>=Less Or Equal{"age<=": ...}
  • Value part:
No.SymbolOperatorSample
1|Or{...: "gonjishke|gandomi"}
  • Mix:
{
  "firstName|lastName": "gonjishke|gandomi"
}

Paginate result (by aggregation)

0.0.20

1 year ago

0.0.10

1 year ago

0.0.11

1 year ago

0.0.12

1 year ago

0.0.13

1 year ago

0.0.14

1 year ago

0.0.15

1 year ago

0.0.9

1 year ago

0.0.16

1 year ago

0.0.8

1 year ago

0.0.17

1 year ago

0.0.18

1 year ago

0.0.19

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago

0.0.0

1 year ago