TypeError:userDetails.findAll不是一个函数

时间:2018-08-17 09:59:18

标签: node.js mongodb mongoose

我正在使用localhost MongoDB。当我运行节点app.js时  该时间显示连接到服务器。当时我要在邮递员中测试API时遇到诸如userDetails.findAll之类的错误不是函数。

 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都不是一个函数。

1 个答案:

答案 0 :(得分:1)

您应该提到mongoose版本。

请从here的猫鼬文档站点检查可用的方法。

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

  

没有像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);
  }
});

希望这可能对您有帮助.. !!