2017-01-04 112 views
1

我想打印「members」集合的所有文檔。我使用find()函數,但它拋出錯誤:find() is not a functionmongodb - find()不是函數

在member_model.js(以型號/ 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(在控制器/ 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(在控制器/管理文件夾):

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

聽起來像'members'可能無法正確導入 –

+0

const members = require('../../ models/admin/member_model');是這行嗎? –

+0

是的。你有沒有試過檢查會員中存儲的內容? – iagowp

回答

1

試試下面的代碼:

member_model.js(以型號/ admin文件夾):

更改下面的代碼:

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

index.js (在控制器/ admin文件夾中):

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

相關問題