shamon shamsudeen
shamon shamsudeen

Reputation: 5848

express js mongoose model.find is undefined with es6

Here is my model

import mongoose from 'mongoose';

const Schema = mongoose.Schema;

var userSchema = new Schema({
    name:  String,
    email: String,
    provider:String,
    role:String
  });

  export default mongoose.model('user',userSchema);

In my controller

 import {UserModel} from './model'

 async getUser(req,res){

      UserModel.find((err,result)=>{
          console.log("Error",err);
      })
  }

I am getting this error

TypeError: Cannot read property 'find' of undefined

Upvotes: 0

Views: 994

Answers (1)

Kevin Qian
Kevin Qian

Reputation: 2720

If you are export default, you need to import with simply import UserModel from './model'.

import { UserModel } from './model' is for when you export const UserModel = /* whatever */, without the default keyword

See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export for details

Upvotes: 5

Related Questions