我正在使用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");
}
});
}
});
});
让我知道我需要在上述代码中更正什么。任何帮助将不胜感激。
谢谢
答案 0 :(得分:2)
尝试将您的req.body.postId强制转换为ObjectId
类似
var ObjectID = require(‘mongodb’).ObjectID;
var postId = new ObjectID(req.body.postId);
然后在您的deleteOne({})参数中使用该postId