Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的node express应用程序无法从mongoose获取数据?_Javascript_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Javascript 为什么我的node express应用程序无法从mongoose获取数据?

Javascript 为什么我的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

我有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(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);在数据库被重命名之后。