0.0.20 • Published 1 year ago
mongoosejs-model v0.0.20
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. | Symbol | Operator | Sample |
---|---|---|---|
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. | Symbol | Operator | Sample |
---|---|---|---|
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