gpt4 book ai didi

node.js - 类型错误 : userDetails. findAll 不是函数

转载 作者:太空宇宙 更新时间:2023-11-04 00:06:49 24 4
gpt4 key购买 nike

我正在使用本地主机 MongoDB。当我运行 Node app.js 时 那个时间显示连接到服务器。当我要在 postman 中测试 API 时,出现类似 userDetails.findAll is not a function.

的错误。
 Model.js:

const mongoose = require('mongoose');
const Schema =mongoose.Schema;

const userSchema=new Schema({
userId:{
type:String,
required:true
},
userName:
{
type:String,
required: true,
unique: true
},
userPwd:
{
type:String,
required:true
},
is_active:{
type:Boolean,
required:true
}
});

module.exports = mongoose.model("usersDetails",userSchema);



controller.js:

var userDetails = require('../userDetailsModels/userDetails-model');

var getUserDetails = (req, res) => {
userDetails.findAll({
where: {
is_active:true
}
}).then(userAll => {
res.status(200).json(userAll);
}).catch(err => {
console.log(err);
res.status(500).json({
error: err,
message: 'Something went wrong'
});
});
};

module.exports ={
getUserDetails:getUserDetails
}


router.js:

var express = require('express');
var usersRouter = express.Router();

var UserDetailsController = require('../userDetailsControllers/userDetails-controller');

usersRouter.route('/getUsers/all').get(UserDetailsController.getUserDetails);

module.exports = usersRouter;

上面是model.js、controller.js和router.js。我不知道这段代码哪里出错了。每次我得到 userDetails.findAll 都不是一个函数。

最佳答案

您应该提及 mongoose 版本。

请检查 mongoose 文档站点的可用方法 here .

并且,请检查如何使用 here 中的 where :

There is no any method available like findAll.

您可以使用 find 方法,该方法将返回所有匹配的文档,如下所示:

userDetails.find().where('is_active').equals(true)
.exec(function(error, userAll) {
if(error){
res.status(500).json({
error: err,
message: 'Something went wrong'
});
} else {
res.status(200).json(userAll);
}
});

希望这可以帮助你..!!

关于node.js - 类型错误 : userDetails. findAll 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51892896/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com