функция findOne в этом коде не работает - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть проблема, которая не работает, я не уверен, что я делаю неправильно:

import express from 'express'
import path from 'path'
import mongoose from "mongoose"
import bodyParser from "body-parser";
import auth from "./auth";






const app=express()


app.use(bodyParser.json())

mongoose.connect('mongodb://localhost/shoppinglist',{useMongoClient:true})


app.use("/api/auth",auth)


import express from "express";
import User from './User'


const router = express.Router();


router.post("/",function(req, res) {




        User.findOne({username: req.body.credentials.username},(user)=>{
            if (!user) {
                  res.status(400).json({ errors: { global: "really???!!!" } });
            }})




  });
  export default router;
import mongoose from "mongoose";

const schema = new mongoose.Schema(
{
   username:String,

}   

  );

  module.exports = mongoose.model("User", schema);

есть предложения? код выбирает req.body.username, но findOne не проверяет пользователя. Я предполагаю, что я делаю какую-то ошибку в файле User.js

1 Ответ

0 голосов
/ 26 апреля 2019

Параметры обратного вызова неверны. Обратный вызов принимает два параметра: err и document. В вашем случае параметр err отсутствует Попробуйте это.

User.findOne({username: req.body.credentials.username}, (err, user) => {
  if (!user) {
    return res.status(400).json({ errors: { global: "really???!!!" } });
  } 
  return res.status(200).json({data: user});
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...