var express = require("express");
var cors = require("cors");
var mongoClient = require("mongodb").MongoClient;
var connectionString = "mongodb://127.0.0.1:27017";
var app = express();
app.use(cors());
app.use(express.urlencoded({
extended:true
}));
app.use(express.json());
app.get("/getusers", (req, res)=>{
mongoClient.connect(connectionString, (err, clientObj)=>{
if (!err) {
var database = clientObj.db("reactdb");
database.collection("tblusers").find({}).toArray((err, documents) => {
if (!err) {
res.send(documents);
}
})
}
})
});
app.post("/registeruser", (req, res)=>{
var userdetails = {
UserId: req.body.UserId,
UserName: req.body.UserName,
Password: req.body.Password,
Age: parseInt(req.body.Age),
Mobile: req.body.Mobile,
Subscribed: (req.body.Subscribed === "true")?true:false
};
mongoClient.connect(connectionString,(err, clientObj)=>{
if(!err){
var database = clientObj.db("reactdb");
database.collection("tblusers").insertOne(userdetails,(err, result)=>{
if(!err){
console.log("Record Inserted...");
res.redirect("/getusers");
}
})
}
})
})
app.listen(4000);
console.log("Server Started : http://127.0.0.1:4000");
I made this API inside the server folder named api.js and then used express and MongoDB. I tried to Connect to MongoDB and show the records on the screen, but it keeps on loading the site when I type http://127.0.0.1:4000/getusers and hit enter and doesn't show anything. I don't know why it is happening.
Here is the working example :
const express = require("express");
const app = express();
const { MongoClient } = require("mongodb");
const cors = require('cors');
const url = "mongodb://localhost:27017";
const client = new MongoClient(url);
const PORT = 5000;
// Database Name
const dbName = "reactdb";
app.use(cors());
app.use(express.urlencoded({
extended:true
}));
app.use(express.json());
client
.connect()
.then(() => {
console.log("database connected successfully");
})
.catch(() => client.close());
app.get("/getusers", async (req, res) => {
var database = client.db(dbName);
let result = await database.collection("tblusers").find().toArray();
return res.status(200).json({
msg: "record fetched successfully",
data: result,
});
});
app.post("/registeruser", async (req, res) => {
let userdetails = {
UserName: req.body.UserName,
Password: req.body.Password,
Age: parseInt(req.body.Age),
Mobile: req.body.Mobile,
Subscribed: req.body.Subscribed === "true" ? true : false,
};
var database = client.db(dbName);
let result = await database.collection("tblusers").insertOne(userdetails);
if (result.acknowledged) {
return res.status(200).json({
msg: "record inserted successfully",
});
}
res.status(400).json({ msg: "internal server error" });
});
app.listen(PORT, () => {
console.log("server listening on : " + PORT);
});