【问题标题】:mongodb - find() is not a functionmongodb - find() 不是函数
【发布时间】:2017-01-04 17:04:08
【问题描述】:

我想打印“成员”集合的所有文档。我使用了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() 仍然出错。

帮我看看我的错误是什么? 谢谢!

【问题讨论】:

  • 听起来像members 可能没有正确导入
  • const members = require('../../models/admin/member_model');是这条线吗?
  • 是的。您是否尝试过检查成员中存储的内容?
  • 我刚刚编辑了我的问题更多细节。请帮我检查一下!
  • 在一个文件中检查你的 module.export,你已经为成员集合编写了模式或使用模式文件更新你的问题

标签: javascript node.js express mongoose


【解决方案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));
});

【讨论】:

  • 谢谢@ti2005!我找到了,但你的回答帮我节省了时间!
  • 为什么在对象中添加 moogoose.model 可以使其工作??
猜你喜欢
  • 1970-01-01
  • 2018-10-01
  • 2019-08-04
  • 2021-03-21
  • 2019-01-18
  • 2016-08-20
  • 2020-09-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多