首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >User.findByID不是一个函数

User.findByID不是一个函数
EN

Stack Overflow用户
提问于 2017-12-27 19:16:46
回答 1查看 6.6K关注 0票数 0

我在使用node + express路由时遇到了问题。默认情况下,我在IDE webstorms中提供了路由模式。我不确定我是否正确配置了所有内容,因为我遇到了这个错误。

我可以做一个GET /users和POST /users正确与邮递员的结果。

routes/users.js

代码语言:javascript
运行
AI代码解释
复制
const express = require('express');
const router = express.Router();
const _ = require('lodash');
const {ObjectID} = require('mongodb');

const {mongoose} = require('../db/mongoose')
const {User} = require('../db/models/users')
const {Project} = require('../db/models/projects')
const {Dialog} = require('../db/models/dialogs')

(...)

router.get('/users/:userid', (req, res) => {
    var id = req.params.userid.toString();

    if (!ObjectID.isValid(id)) {
        return res.status(404).send();
    }

    User.findByID(id).then((user) => {
        if (!user) {
            return res.status(404).send();
        }

        res.send({user});
    }).catch(() => {
        res.status(404).send();
    });
});

models/users.js

代码语言:javascript
运行
AI代码解释
复制
const mongoose = require('mongoose');
const Schema = mongoose.Schema

// todo refactor userschema with proper validators (view udemy course)

const UserSchema = new Schema({
    email: {type: String, required: true},
    password: {type: String, required: true},
    name: {type: String},
    company: {type: String},
    phone: {type: String},
    projects: [{type: Schema.Types.ObjectId, ref: 'Project'}]
});


const User = mongoose.model('User', UserSchema);

module.exports = {User}
EN

回答 1

Stack Overflow用户

发布于 2017-12-27 21:45:22

米奇是对的。Mongoose模型函数是findById()而不是findByID() - http://mongoosejs.com/docs/api.html#model_Model.findById

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47997497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档