Javascript 为什么我的node express应用程序无法从mongoose获取数据?
我有PHP MVC的背景,刚刚开始学习Nodejs。 这是我的应用程序目录结构: 根 -控制器 -user.js -模型 -user.js -公开的 -样式表 -style.cssJavascript 为什么我的node express应用程序无法从mongoose获取数据?,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,我有PHP MVC的背景,刚刚开始学习Nodejs。 这是我的应用程序目录结构: 根 -控制器 -user.js -模型 -user.js -公开的 -样式表 -style.css -观点 -翡翠索引 -app.js -package.json -gulpfile.js 这是我的控制器文件:user.js var User = require('../models/user.js'); exports.list = function(req, res){ User.find(functio
-观点 -翡翠索引 -app.js -package.json -gulpfile.js 这是我的控制器文件:user.js
var User = require('../models/user.js');
exports.list = function(req, res){
User.find(function(err, users) {
res.send(users);
});
};
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
mongoose.createConnection('mongodb://localhost/mydb');
var userSchema = new Schema({
name: String,
country: String,
email: String,
password: String,
});
module.exports = mongoose.model('user', userSchema);
这是我的模型文件:user.js
var User = require('../models/user.js');
exports.list = function(req, res){
User.find(function(err, users) {
res.send(users);
});
};
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
mongoose.createConnection('mongodb://localhost/mydb');
var userSchema = new Schema({
name: String,
country: String,
email: String,
password: String,
});
module.exports = mongoose.model('user', userSchema);
下面是我的app.js文件:
/**
*模块依赖关系。
*/
我已经使用命令行在mongo中创建了一个数据库,下面是我的集合列表:
我可能仍然在用php的方式思考这个问题,并且在这里遗漏了一些要点。有人能指出我做错了什么吗?猫鼬会自动查找,有关此规则的更多详细信息,请参阅,定义为
Mongoose#model(name, [schema], [collection], [skipInit])
为了解决您的问题,您可以定义您的模型
mongoose.model('user', userSchema, { collection: 'user' });
Db名称应该是
users
或更确切地说,因为@Yerken提到您当前的“集合”名称是user
,而不是像mongoose期望的那样users
,然后将模型定义为mongoose.model(“user”,userSchema,“user”)
。其中“第三个”参数设置集合名称。@Yerken谢谢!将数据库从“user”重命名为“users”实际上做到了这一点。另外,如果我使用:module.exports=mongoose.model('user',userSchema),这也无关紧要;或者module.exports=mongoose.model('users',userSchema);在数据库被重命名之后。