mongodb - find()不是一个函数

时间:2017-01-04 03:46:30

标签: javascript node.js express mongoose

我想打印"成员"的所有文件。采集。我使用了find()函数,但它抛出错误:find() is not a function

在member_model.js中(在models / admin文件夹中):

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

在index.js中(在controllers / admin文件夹中):

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

我检查了连接到数据库,它仍然可以。 我也读了一些其他的问题,但是对我的问题有任何合适的答案。

请注意,我测试的更多:

在auth.js中(在controllers / admin文件夹中):

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()没问题,但Members.find()仍然出错。

帮我解决一下我的错误是什么? 谢谢!

1 个答案:

答案 0 :(得分:1)

请尝试以下代码:

member_model.js (在models / admin文件夹中):

将以下代码更改为:

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

index.js (在controllers / admin文件夹中):

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