Referensi MongoDB dengan Node.js tidak dapat saya isi

Saya ingin menampilkan informasi lokasi pengguna di layar.

Misalnya:

name: "Andy" surname : "Carol" City : "Istanbul"  Town : "Kadıkoy"

Saat saya memanggil fungsi getuser saya ingin menampilkan nama Kota dan Kota.

Ini kode saya:

SKEMA Pengguna

// Model for the User 
module.exports = (function userSchema() {

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

  var userSchema = new Schema({

    name: {
      type: String,
      require: true
    },
    surname: {
      type: String,
      require: true
    },
    tel: {
      type: String,
      require: true
    },
    age: {
      type: String,
      require: true
    },
    mevki_id: {
      type: String,
      require: true
    },
    lok_id: [{
      type: Mongoose.Schema.Types.ObjectId,
      ref: 'locations'
    }]

  });

  var collectionName = 'users';
  var USERSCHEMA = Mongoose.Schema(userSchema);
  var User = Mongoose.model(collectionName, USERSCHEMA);

  return User;

})();

Pengontrol PENGGUNA

//This Controller deals with all functionalities of User
function userController() {

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

  // Creating New User
  this.createUser = function (req, res, next) {

    var name = req.body.name;
    var surname = req.body.surname;
    var tel = req.body.tel;
    var age = req.body.age;
    var mevki_id = req.body.mevki_id;
    var lok_id = req.body.lok_id;

    User.create({
      name: name,
      surname: surname,
      tel: tel,
      age: age,
      mevki_id: mevki_id,
      lok_id: lok_id
    }, function (err, result) {
      if (err) {
        console.log(err);
        return res.send({
          'error': err
        });
      } else {
        return res.send({
          'result': result,
          'status': 'successfully saved'
        });
      }
    });
  };

  //Populateeee

  this.getUser = function (req, res, next) {

    User.find().populate('lok_id')
      .exec(function (err, result) {
        if (err) {
          console.log(err);
          return res.send({
            'error': err
          });
        } else {
          return res.send({
            'USERS': result
          });
        }
      });
  };

  return this;

};

module.exports = new UserController();

Skema Lokasi

//Schema for Location
module.exports = (function LocationSchema() {

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

  var LocationSchema = new Schema({

    userid: {
      type: Mongoose.Schema.Types.ObjectId,
      ref: 'users'
    },

    il: {
      type: String,
      require: true
    },

    ilce: {
      type: String,
      require: true
    }

  });

  var collectionName = 'locations';
  var LocationSCHEMA = Mongoose.Schema(schema);
  var Location = Mongoose.model(collectionName, LocationSCHEMA);

  return Location;
})();

Pengontrol Lokasi

//This Controller deals with all functionalities of Location
function locationController() {
  var location = require('../models/LocationSchema');

  // Creating New Location
  this.createLocation = function (req, res, next) {
    var userid = req.params.userid;
    var il = req.params.il;
    var ilce = req.params.ilce;

    location.create({
      userid: userid,
      il: il,
      ilce: ilce
    }, function (err, result) {
      if (err) {
        console.log(err);
        return res.send({
          'error': err
        });
      } else {
        return res.send({
          'result': result,
          'status': 'successfully saved'
        });
      }
    });
  };

  // Fetching Details of Location
  this.getLocation = function (req, res, next) {

    location.find({}, function (err, result) {
      if (err) {
        console.log(err);
        return res.send({
          'error': err
        });
      } else {
        console.log(result);
        return res.send({
          'location Details': result
        });
      }
    });
  };

  return this;

};

module.exports = new locationController();

person MAD    schedule 20.12.2016    source sumber
comment
Skema Lokasi i.imgsafe.org/93f9ceb4fa.jpg Pengontrol Lokasi i.imgsafe.org/93f9b72897.jpg   -  person MAD    schedule 20.12.2016
comment
Lebih baik memasukkan kode sebagai teks daripada sebagai tangkapan layar yang terletak di situs eksternal.   -  person Anton Samsonov    schedule 20.12.2016
comment
Saya sudah mengeditnya, terima kasih   -  person MAD    schedule 20.12.2016


Jawaban (1)


Saya sudah punya masalah dengan definisi model. Itu diperbaiki dengan menambahkan parameter ketiga ke mongoose.model (nama koleksi eksplisit)

// Try to replace :
var collectionName = 'users';	
var USERSCHEMA=Mongoose.Schema(userSchema);
var User = Mongoose.model(collectionName, USERSCHEMA);
// with:
var collectionName = 'users';	
var USERSCHEMA=Mongoose.Schema(userSchema);
var User = Mongoose.model(collectionName, USERSCHEMA, collectionName);
the collectionName must be set either in the schema definition or in the model definition. for more details see here

person Roge    schedule 21.12.2016
comment
Anda mengatakan benar tetapi fungsi buat pengguna saya salah Bolehkah Anda melihat fungsi ini di Pengontrol pengguna? - person MAD; 21.12.2016