0

I just created a simple database on mongodb and trying to create an api using node.js to fetch data from the database. When I query the database on mongodb shell using .find() everything works fine and I get the data but I get an empty array when I do the same using an api.

Here is the code for my app.js file:

    var express = require('express');
    var app = express();
    var bodyParser = require('body-parser');
    app.use(bodyParser.urlencoded({ extended: false }));
    app.use(bodyParser.json());
    var mongoose = require('mongoose');
    var request = require('request');

    User = require('./models/User');


    //Connect to Mongoose
    mongoose.connect("mongodb://localhost:27017/Blinc");
    mongoose.Promise = global.Promise;
    var db = mongoose.connection;

    app.get('/',function(req, res){
      res.send('Please use1 /api/books or /api/genres');
    });

    app.get('/api/users', function(req, res){
      User.getUsers(function(err, user){
        if (err) {
          throw err;
          console.log(err);
        }
        res.json(user);
        console.log(user);
    });

    });

    app.listen(3000);
    console.log('Running on port 3000....');

Here is the code for my User.js file:

    var mongoose = require('mongoose');
    var Schema = mongoose.Schema;

    mongoose.connect('mongodb://localhost:27017/Blinc');

    // User Schema
    var userSchema = new Schema({
       email:{
         type: String,
         required: true
       },
       username:{
         type: String,
         required: true
       },
       password:{
         type: String,
         required: true
       },
       name:{
         type: String,
         required: false
       },
       phoneNo:{
         type: String,
         required: false
       }
     });

    var User = module.exports = mongoose.model('User', userSchema);

    // Get users

    module.exports.getUsers = function(callback, limit){
      User.find(callback).limit(limit);
    }

My database's name is Blinc and it has one collection named User. Can someone please suggest me what is it that I am doing wrong?

0 Answers0