如何在猫鼬中使用查找

我有一个代码,它应该创建mongoose.schema,保存它,找到它,然后检查它是否与输入相同。所以我知道我有一个错误,但它不会将其记录在控制台中,所以我不知道出了什么问题。

这是使用mongoose和js的快速node.js服务器

const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const model = require('.//models/schema');

app.use(express.static('public'));

app.get('/register',function(request,response) {
  response.sendFile(__dirname + '/html/register.html');
});

app.get('/login',response){
  response.sendFile(__dirname + '/html/login.html')
});

const listener = app.listen(3000,function() {
  let myURL = new URL(`localhost:${listener.address().port}/register`);
  console.log(myURL.href);
});

mongoose.connect(`mongodb://localhost${listener.address().port}:/register`,{
    useNewUrlParser: true,useUnifiedTopology: true    
    });

app.use(bodyParser.urlencoded({
    extended: false
 }));

app.use(bodyParser.json());

app.post('/submit-data',(req,res) => {
  res.redirect('/login')
  let user = new model({
    all:{
    'login': req.body.login,'password': req.body.password,'gender': req.body.gender,'birthday': req.body.birthday
  }});
  user.save()
  console.log('Successfuly Updated the data')
});

app.post('/submit-login',res) => {
  model.find({
  'all.login': req.body.login,'all.password': req.body.password},function (err,user){
    if(err){
      console.log(err)
    }
    if(!user){
      console.log('No such user')
    }
    console.log('Successfully logged in')
  });
});
const mongoose = require('mongoose');
const Schema = mongoose.Schema;

let schema = new Schema({
    all:{
    'login': String,'password': String,'gender': String,'birthday': String
  }});

module.exports = mongoose.model('allInfo',schema);

如果它不正确,我希望它记录错误,或者记录“成功登录”,但是它不会记录任何错误。

sunwei7991 回答:如何在猫鼬中使用查找

您可以这样做

const existingUser = await model.findOne({all.login:req.body.login}) //use async in function definition

然后使用if语句检查existingUser是否未定义或为空。

如果未找到用户return req.next()

如果找到,我们需要检查密码,

if(req.body.password === existingUser.password){
 //return successful
}
,

我建议您仔细检查以下代码行:

partial class MainWindow : Window
{
  public MainWindow()
  {
    InitializeComponent();
    this.Loaded += InitializeOnLoaded();
  }

  private void InitilaizeOnLoaded(object sender,EventArgs e)
  {
    (this.DataContext as ViewModel).ButtonClickCommand("clear_filter");
  }
}

用于分隔侦听端口的冒号应放在'localhost'之后...

本文链接:https://www.f2er.com/3128395.html

大家都在问