我刚开始学习 MongoDB 和 mongoose。目前我有以下结构:
database -> skeletonDatabase
collection -> adminLogin
当我从命令行运行 db.adminLogin.find()
时,我得到:
{ "_id" : ObjectId("52lhafkjasfadsfea"), "username" : "xxxx", "password" : "xxxx" }
我的连接 (这有效,只是添加它仅供引用)
module.exports = function(mongoose)
{
mongoose.connect('mongodb://localhost/skeletonDatabase');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function callback () {
console.log('Conntected To Mongo Database');
});
}
我的-js-
module.exports = function(mongoose)
{
var Schema = mongoose.Schema;
// login schema
var adminLogin = new Schema({
username: String,
password: String
});
var adminLoginModel = mongoose.model('adminLogin', adminLogin);
var adminLogin = mongoose.model("adminLogin");
adminLogin.find({}, function(err, data){
console.log(">>>> " + data );
});
}
我的 console.log()
返回为 >>>>
那么我在这里做错了什么?为什么我的控制台日志中没有任何数据?提前感谢您的帮助。
最佳答案
默认情况下,mongoose 采用单数模型名称并将它们与以复数命名的集合配对,因此 mongoose 在数据库中查找名为“adminLogins”的集合,该集合不存在。您可以在定义架构时将您的集合名称指定为第二个参数:
var adminLogin = new Schema({
username: String,
password: String
}, {collection: 'adminLogin'});
关于javascript - 如何使用 mongoose 从 MongoDb 获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19627631/