Node.js User.find不是mongoose函数
我得到一个用户。查找不是函数错误。我相信我把一切都设置好了,但显然没有 这是我的模型和其他代码 用户模型 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,因此它正在连接。所以我不确定我会错在哪里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
我试图保持数据库连接到一个文件,整个应用程序可以在需要时使用数据库。此部分仅用于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);