2017-01-04 3 views
1

Я хочу распечатать все документы коллекции «members». Я использовал функцию find(), но это ошибка: find() is not a function.mongodb - find() не является функцией

В member_model.js (в моделях/папка администратора):

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

В index.js (в контроллерах/папку администратора):

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 (в контроллерах/папка администратора):

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() еще ошибка.

Помогите мне, что моя ошибка? Спасибо!

+0

Похоже, что 'члены' могут не импортироваться правильно –

+0

const members = require ('../../ models/admin/member_model'); Эта строка? –

+0

yep. вы пытались проверить, что хранится в странах-членах? – iagowp

ответ

1

Попробуйте код ниже:

В member_model.js (в моделях/папки администратора):

Изменить ниже код:

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

В index.js (в папках контроллеров/администраторов):

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

Спасибо @ ti2005! Я нашел его, но ваш ответ помог мне сэкономить мое время! –

+0

Почему добавление moogoose.model внутри объекта заставляет его работать? – molavec

Смежные вопросы