无法使用Node Js在MongoDb中插入数据

时间:2019-12-21 06:18:44

标签: node.js mongodb

我正在尝试使用NodeJs在MongoDb中插入数据,但是在插入数据之前,我想检查数据是否已经在数据库中可用,如果数据不可用,那么只有它应该在MongoDb中插入数据。

问题-每当我保存数据时,即使它在数据库中不可用,它也总是显示               响应“用户存在”。

这是我到目前为止所做的:

const express = require('express');
const router = express.Router();
const bodyParser = require('body-parser');
const dotEnv = require('dotenv').config();
const MongoClient = require('mongodb').MongoClient;

const dburl = process.env.URL;

router.use(bodyParser.json());
router.use(bodyParser.urlencoded({extended:true}));

router.post('/saveSalesperson',(req,res) => {

      var data = {

         email:req.body.username,
         password:req.body.password,
         type:req.body.type
      };

MongoClient.connect(dburl,{useNewUrlParser:true,UseUnifiedTopology:true},(err,client) => {

              if(err){
                console.log("Error",err);
              }
              else{

                client.db('Mydb').collection('Users').findOne({email:req.body.username},function(err,user){

                           if(err){
                            console.log("Error",err);
                           }
                           if(user){
                               res.send("User exists");
                           }
                            else{

                    let collection = client.db("Mydb").collection("Users");

                    collection.insertOne(data,(err,resp) => {

                           if(err){

                               console.log("Error:".red +err);

                           }  
                           else{

                               res.send("User created");
                           }

                     });

                   }
                });
              }
        });

   });

module.exports = router;

请让我知道我做错了。任何帮助将不胜感激。

谢谢

0 个答案:

没有答案