Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including adonis-4-mongoose with all npm packages installed. Try it out:

var adonis4Mongoose = require("adonis-4-mongoose")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

adonis-4-mongoose v1.0.8

Basic mongoose provider for Adonis 4.0

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

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free