javascript - mongodb - find() is not a function - Stack Overflow

I want to print all documents of "members" collection. I used find() function but it throw er

I want to print all documents of "members" collection. I used find() function but it throw error : find() is not a function.

In member_model.js (in models/admin folder):

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var MemberSchema = new Schema({
  username: String,
  password: String
});
module.exports = mongoose.model('members', MemberSchema);

In index.js (in controllers/admin folder):

const members = require('../../models/admin/member_model');
var Members = new members();
Members.find({}, function (err, resDB) {
  assert.equal(err,null);
  console.log(json(resDB));
});

I checked connecting to DB, it's still ok. I also read some other questions but any suitable answer for my problem.

Note more i tested like this :

In auth.js (in controllers/admin folder):

const members = require('../../models/admin/member_model');
var Members = new members();
Members.username = req.body.username;
Members.password = req.body.password;
var refererURL = req.headers.referer;

Members.save((err, resSave) => {
  if(err) {
    console.log(err);
    res.redirect(refererURL);
  } else {
    console.log('saved');
  }
})

Members.find({}, function (err, resDB) {
  assert.equal(err,null);
  console.log(json(resDB));
});

Members.save() is ok, but Members.find() still error.

Help me what my error is ? Thanks!

I want to print all documents of "members" collection. I used find() function but it throw error : find() is not a function.

In member_model.js (in models/admin folder):

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var MemberSchema = new Schema({
  username: String,
  password: String
});
module.exports = mongoose.model('members', MemberSchema);

In index.js (in controllers/admin folder):

const members = require('../../models/admin/member_model');
var Members = new members();
Members.find({}, function (err, resDB) {
  assert.equal(err,null);
  console.log(json(resDB));
});

I checked connecting to DB, it's still ok. I also read some other questions but any suitable answer for my problem.

Note more i tested like this :

In auth.js (in controllers/admin folder):

const members = require('../../models/admin/member_model');
var Members = new members();
Members.username = req.body.username;
Members.password = req.body.password;
var refererURL = req.headers.referer;

Members.save((err, resSave) => {
  if(err) {
    console.log(err);
    res.redirect(refererURL);
  } else {
    console.log('saved');
  }
})

Members.find({}, function (err, resDB) {
  assert.equal(err,null);
  console.log(json(resDB));
});

Members.save() is ok, but Members.find() still error.

Help me what my error is ? Thanks!

Share Improve this question edited Jan 4, 2017 at 7:33 nem035 35.5k6 gold badges92 silver badges104 bronze badges asked Jan 4, 2017 at 3:46 Ryan TranRyan Tran 4876 silver badges17 bronze badges 7
  • Sounds like members might not be importing correctly – Sterling Archer Commented Jan 4, 2017 at 3:50
  • const members = require('../../models/admin/member_model');Is this line ? – Ryan Tran Commented Jan 4, 2017 at 3:51
  • yep. have you tried checking whats stored in Members? – iagowp Commented Jan 4, 2017 at 3:51
  • I have just edited my question more details. Please help me check it ! – Ryan Tran Commented Jan 4, 2017 at 4:00
  • check ur module.export in a file where u have written your schema for member collection or update your question with schema file – Simran Commented Jan 4, 2017 at 6:01
 |  Show 2 more ments

1 Answer 1

Reset to default 3

Try the below code:

In member_model.js (in models/admin folder):

Change the below code to :

// module.exports = mongoose.model('members', MemberSchema);
module.exports = {
  memberCollection: mongoose.model('members', MemberSchema)
}

In index.js (in controllers/admin folder):

const members = require('../../models/admin/member_model');
members.memberCollection.find({}, function (err, resDB) {
  assert.equal(err,null);
  console.log(json(resDB));
});

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745357862a4624223.html

相关推荐

  • javascript - mongodb - find() is not a function - Stack Overflow

    I want to print all documents of "members" collection. I used find() function but it throw er

    5小时前
    20

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信