node package manager
Don’t reinvent the wheel. Reuse code within your team. Create a free org »

adonis-4-mongoose

Basic Mongoose Service Provider for Adonis 4.0

Basically from the old npm package used for Adonis 3.^

Installation

  npm install adonis-4-mongoose --save
  • Update the .env file with your mongo credentials.
MONGO_PORT=27017
MONGO_USER=yoursupersaiyanusername
MONGO_PASS=yoursuperawesomepass
MONGO_DATABASE=yourultrainstinctdb
  • Add config/mongo.js to your project
  const Env = use('Env')

  module.exports = {
    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 Env = use('Env')
 // just include it to the list/array.

  const providers = [
    ...
    'adonis-4-mongoose/provider/Mongoose'
  ]

  const aliases = {
    ...
    Mongoose: 'Adonis/Addons/AdonisMongoose'
  }

Basic examples

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