Fastify CockroachDB Plugin using Sequelize ORM
![NPM](https://nodei.co/npm/fastify-mongoose.png?downloads=true&downloadRank=true&stars=true)
![CircleCI](https://circleci.com/gh/alex-ppg/fastify-mongoose.svg?style=svg)
Installation
npm i fastify-mongoose -s
Usage
fastify.register(
require("fastify-mongoose"),
{
uri: "mongodb://admin:pass@localhost:27017/database_name",
settings: {
useNewUrlParser: true,
config: {
autoIndex: true
}
},
models: [
{
name: "accounts",
alias: "Account",
schema: {
username: {
type: String
},
password: {
type: String,
select: false,
required: true
},
email: {
type: String,
unique: true,
required: true,
validate: {
validator: v => {
return /^.+@.{2,}\..{2,}$/.test(v);
},
message: props => `${props.value} is not a valid email!`
}
},
createdAtUTC: {
type: Date,
required: true
}
}
}
]
},
err => {
if (err) throw err;
}
);
fastify.get("/", (request, reply) => {
console.log(fastify.mongoose.instance);
console.log(fastify.mongoose.Account);
});
Options
Option | Description |
---|
uri | Required, the Unique Resource Identifier to use when connecting to the Database. |
settings | Optional, the settings to be passed on to the MongoDB Driver as well as the Mongoose-specific options. Refer here for further info. |
models | Optional, any models to be declared and injected under fastify.mongoose |
Any models declared should follow the following format:
{
name: "profiles",
alias: "Profile",
schema: schemaDefinition
}
The schemaDefinition
variable should be created according to the Mongoose Model Specification.
Author
Alex Papageorgiou
License
Licensed under GPLv3.