无法将数据从node.js存储到mongoDB atlas,以下是代码片段

问题描述 投票:0回答:1

I'm Unable to store the data from node.js to mongoDB atlas 以下是代码片段。

下面是我建立mongodb连接的app.js代码。

const express = require("express");
var app = express();
const bodyparser = require("body-parser");
const cors = require("cors");
const Post=require("./models/post");
const mongoose=require("mongoose");
app.use(bodyparser.urlencoded({ extended: false }))
app.use(bodyparser.json())
app.use(cors());
app.post('/sms', function (req, res) {
  let obj=JSON.parse(req.body.user);
   const user= new Post({
     userName:obj.userName,
     password:obj.password,
     email:obj.email,
     address:obj.address
   })
  user.save()
  .then(data => {
    res.json(data),
    res.status(200).json({data})
  })
  .catch(err => {
    res.json(err)
  });
})
mongoose.connect("mongodb+srv://srihari:[email protected]/srihari?retryWrites=true&w=majority",{useNewUrlParser:true,useUnifiedTopology:true},()=>{
  console.log("DB connected!");
})
app.listen(8080); 

下面是Schema的代码,用于绑定来自前端的数据。

const mongoose = require("mongoose");
const postschema=mongoose.Schema({
    userName:{
        type:String 
    },
    password:{
        type:String
    },
    email:{
        type:String 
    },  
    address:{
        type:String 
    },

});
module.exports = mongoose.model('Posts',postschema)
node.js mongodb mongoose
1个回答
0
投票

在mongodb中存储检索数据时,可以尝试使用AsyncAwait函数。

   const express = require("express");
   var app = express();
   const bodyparser = require("body-parser");
   const cors = require("cors");
   const Post=require("./models/post");
   const mongoose=require("mongoose");
   app.use(bodyparser.urlencoded({ extended: false }))
   app.use(bodyparser.json())
   app.use(cors());
   app.post('/sms', async function (req, res) {
     let obj=JSON.parse(req.body.user);
      const user= new Post({
         userName:obj.userName,
         password:obj.password,
         email:obj.email,
         address:obj.address
      })
      await user.save()
      .then(data => {
         res.json(data),
         res.status(200).json({data})
       })
       .catch(err => {
          res.json(err)
       });
    })
     mongoose.connect("mongodb+srv://srihari:[email protected]/srihari?retryWrites=true&w=majority",{useNewUrlParser:true,useUnifiedTopology:true},()=>{
     console.log("DB connected!");
      })
     app.listen(8080);

0
投票

这是因为你直接使用了Schema。首先你必须像下面这样定义它。

const Schema = mongoose.Schema ;

在导入mongoose.Schema后,写下上面这行代码。

© www.soinside.com 2019 - 2024. All rights reserved.