Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.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
Node.js User.find不是mongoose函数_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Node.js User.find不是mongoose函数

Node.js User.find不是mongoose函数,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,我得到一个用户。查找不是函数错误。我相信我把一切都设置好了,但显然没有 这是我的模型和其他代码 用户模型 const mongoose=需要“mongoose” 让userSchema=newmongoose.Schema{ 电邮:{ 类型:字符串, 独一无二:没错, 必填项:true }, 密码:{ 类型:字符串, 必填项:true } } const User=mongoose.modeluser,userSchema module.exports.User=用户 用户路由 const ex

我得到一个用户。查找不是函数错误。我相信我把一切都设置好了,但显然没有

这是我的模型和其他代码

用户模型

const mongoose=需要“mongoose” 让userSchema=newmongoose.Schema{ 电邮:{ 类型:字符串, 独一无二:没错, 必填项:true }, 密码:{ 类型:字符串, 必填项:true } } const User=mongoose.modeluser,userSchema module.exports.User=用户 用户路由

const express=需要“express” const router=express.router const mongoose=需要“mongoose” const User=require'../models/User' /*获取用户列表*/ router.get'/',req,res=>{ User.find .Then函数用户{ res.status201.jsonusers } 凯瑟先生{ console.error res.status500.发送“Eorror”+错误 } } module.exports=路由器 app.js

const createError=require'http-errors'; const express=需要“express”; 常量路径=要求“路径”; const cookieParser=需要“cookie-parser”; 常量记录器=需要“摩根”; const cors=要求“cors”; const mongoose=需要“mongoose”; //连接数据库 猫鼬,连接'mongodb://localhost/', { useNewUrlParser:true, useUnifiedTopology:正确, useCreateIndex:true }; console.logmongoose.connection.readyState; //进口路线 const indexRouter=require'/routes/index'; const usersRouter=require'/routes/users'; const-app=express; //查看引擎设置 app.set'views',path.join__dirname',views'; 应用程序设置“查看引擎”、“hbs”; app.usecors; app.uselogger'dev'; app.useexpress.json; app.useexpress.urlencoded{extended:false}; app.usecookieParser; app.useexpress.staticpath.join__dirname,“public”; 应用程序。使用“/”,索引路由器; 使用'/users',usersRouter; //捕获404并转发到错误处理程序 app.usefunctionreq,res,next{ nextcreateError404; }; //错误处理程序 app.usefunctionerr,req,res,next{ //设置局部变量,仅提供开发中的错误 res.locals.message=err.message; res.locals.error=req.app.get'env'='development'?err:{}; //呈现错误页面 res.statuserr.status | | 500; res.render“error”; }; module.exports=app; 当我运行应用程序时,我的就绪状态为2,因此它正在连接。所以我不确定我会错在哪里


我试图保持数据库连接到一个文件,整个应用程序可以在需要时使用数据库。此部分仅用于API,因此视图等并不重要。

您对模型的要求是错误的。因为您是这样导出的:

module.exports.User = User
因此,您需要以这种方式进行要求:

const { User } = require('../models/user')

我将用户模型导出如下

module.exports = User;

使用下面的代码,它将帮助您

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
let userSchema = Schema({
  email: {
    type: String,
    unique: true,
    required: true
  },
  password: {
    type: String,
    required: true  
}, {
        versionKey: false
    });
module.exports = mongoose.model('user', userSchema);