adonis-4-mongoose
v1.0.8
Published
Basic mongoose provider for Adonis 4.0
Downloads
20
Maintainers
Readme
Basic Mongoose Service Provider for Adonis 4.0
Basically from the old npm package used for Adonis 3.^
Installation
- Ultra instinct mode on
$ npm install adonis-4-mongoose --save
Update the
.env
file with your mongo credentials.defining
MONGO_URL
will exclude the remaining credentials
MONGO_HOST=localhost
MONGO_PORT=27017
MONGO_USER=yoursupersaiyanusername
MONGO_PASS=yoursuperawesomepass
MONGO_DATABASE=yourultrainstinctdb
MONGO_URL=mongo://supersaiyan.co:777/babidb (optional)
- Add config file
config/mongo.js
to your project
const Env = use('Env')
module.exports = {
url: Env.get('MONGO_URL', ''),
host: Env.get('MONGO_HOST', 'localhost'),
port: Env.get('MONGO_PORT', '27017'),
user: Env.get('MONGO_USER', ''),
pass: Env.get('MONGO_PASS', ''),
db: Env.get('MONGO_DATABASE', '')
}
- Update
start/app.js
add the mongoose service provider
const providers = [
...
'adonis-4-mongoose/provider/Mongoose'
]
const aliases = {
...
Mongoose: 'Adonis/Addons/AdonisMongoose'
}
Basic Usage
Add/Update your user model app/Models/User.js
'use strict'
const mongoose = use('Mongoose')
const ObjectId = mongoose.Schema.Types.ObjectId
const Mixed = mongoose.Schema.Types.Mixed
let userSchema = mongoose.Schema({
firstName: { type: String, default: '' },
lastName: { type: String, default: '' },
dob: { type: Date },
email: { type: String, default: '' },
mobile: { type: String, default: '' },
password: { type: String, default: '' },
isActive: { type: Boolean, default: true },
likes: { type: Mixed, default: {} },
interests: [{ type: Mixed, default: {} }],
}, {
timestamps: true
})
module.exports = mongoose.model('User', userSchema)
Use basic mongoose query app/Controllers/Http/UserController.js
'use strict'
const User = use('App/Models/User')
class UserController {
async index ({ response }) {
let users = await User.find({})
response.json({ users })
}
}
module.exports = UserController