在MongoDB中插入数据后无法从节点服务器获得响应

时间:2018-09-13 11:51:59

标签: javascript node.js mongodb

我正在使用Node在MongoDB中插入数据。但是插入后,我没有收到来自服务器的响应,例如数据已保存。 这是我的代码。

const express = require('express');
const mongoClient = require('mongodb').mongoClient;
const bodyParser = require('body-parser');
var app = express();

var url = "http://localhost:3000/";

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

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

    mongoClient.connect(url,(err,db) => {

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

          var obj = {Name : req.body.name};
          var collection = db("User").collection("Users");

          collection.insertOne(obj,(err,res) => {

             if(err){
               console.log("Error:" +err); 
             }
            else{
               res.send("Data has been saved");     
              }

             });

          }
    });
});

显示错误:

 TypeError: res.send() is not a function at collection.insertOne()

请让我知道我在上面的代码中做错了什么。

谢谢

1 个答案:

答案 0 :(得分:0)

SEARCH()实际上是指res.send的响应,因此您需要重命名该参数,以便它不会覆盖实际的insertOne()参数。

将代码更改为

res