Javascript MongoDB中未删除文档
我正在使用NodeJs和MongoDB作为后端服务。我正在尝试删除MongoDB上的文档,但无法删除,但正在发送已删除的响应。 这就是我迄今为止所做的:Javascript MongoDB中未删除文档,javascript,node.js,mongodb,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,re
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");
}
});
}
});
});
让我知道我需要在上面的代码中更正什么。任何帮助都将不胜感激
谢谢尝试将您的req.body.postId转换为ObjectId 差不多
var ObjectID = require(‘mongodb’).ObjectID;
var postId = new ObjectID(req.body.postId);
然后在你的deleteOne({})参数中使用postId谢谢兄弟,它起作用了,但我想问一件事,在删除之前我们需要先将它转换为ObjectId吗?没问题!Mongo使用ObjectID作为其id字段。我通常发现,无论您使用哪个ID来删除文档(在您的例子中是req.body.postId),最好先将其转换为ObjectID,然后在查询中使用它。谢谢您的解释。