未在MongoDB中删除文档

时间:2019-05-15 16:25:06

标签: javascript node.js mongodb

我正在使用NodeJs和MongoDB作为后端服务。我正在尝试删除MongoDB上的文档,但无法删除,但发送的响应已删除。 这是我到目前为止所做的:

const express = require('express');
const MongoClient = require('mongodb').MongoClient;

const app = express();

var dburl = process.env.URL;

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

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

    var myquery = { _id:req.body.postId};

        if(err){

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

            var collect = client.db('abc').collection('xyz');

            collect.deleteOne(myquery, function(err,obj){

                   if(err){

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

                     res.send("Deleted");  
                   }

            });
        }

    });

});

让我知道我需要在上述代码中更正什么。任何帮助将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:2)

尝试将您的req.body.postId强制转换为ObjectId

类似

var ObjectID = require(‘mongodb’).ObjectID;
var postId = new ObjectID(req.body.postId);

然后在您的deleteOne({})参数中使用该postId