我正在尝试使用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;
请让我知道我做错了。任何帮助将不胜感激。
谢谢