Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript nodejs mongodb未基于id删除_Javascript_Node.js_Mongodb - Fatal编程技术网

Javascript nodejs mongodb未基于id删除

Javascript nodejs mongodb未基于id删除,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,你能帮我查一下这个密码吗。当我运行此url时,此代码没有从MongoDB中删除值: 我得到以下响应:{“lastErrorObject”:{“n”:0},“value”:null,“ok”:1},但不删除 app.get('/delete/:id', (req, res) => { var uid = req.params.id; db.collection('quotes').findOneAndDelete({'_id': uid}, (err, result) =>

你能帮我查一下这个密码吗。当我运行此url时,此代码没有从MongoDB中删除值:

我得到以下响应:
{“lastErrorObject”:{“n”:0},“value”:null,“ok”:1}
,但不删除

app.get('/delete/:id', (req, res) => {
   var uid = req.params.id;
   db.collection('quotes').findOneAndDelete({'_id': uid}, (err, result) => {
      if (err) return res.send(500, err);
      res.send(result);
   }); 
});

此响应表示您的查询正在正确执行“OK”:1,但find查询无法找到任何要删除它的文档


因此,在使用“
findOneAndDelete
”之前,请仅使用“
findOne
”并记录响应以检查您是否有该文档。

此响应意味着,您的查询正在正确执行“OK”:1,但查找查询无法找到任何文档来删除它


因此,在使用“
findOneAndDelete
”之前,请仅使用“
findOne
”并记录响应以检查您是否使用该文档。

在MongoDB中,您可以使用
ObjectId
构造函数而不是ObjectId的字符串来查询文档id(
\u id
)。因此,查询需要是:
{'u id':ObjectId(uid)}

例子 暗示
在MongoDB中,您可以使用
ObjectId
构造函数而不是ObjectId的字符串来查询文档id(
\u id
)。因此,查询需要是:
{'u id':ObjectId(uid)}

例子 暗示
对。谢谢你,我想我哪里做错了。请参阅下面的正确答案

var ObjectId = require('mongodb').ObjectID;
app.get('/delete/:id', (req, res) => {
var uid = req.params.id;
db.collection('quotes').findOneAndDelete({'_id': ObjectId(uid) }, (err, result) => {
if (err) return res.send(500, err);
res.send(result);
}); 
});

对。谢谢你,我想我哪里做错了。请参阅下面的正确答案

var ObjectId = require('mongodb').ObjectID;
app.get('/delete/:id', (req, res) => {
var uid = req.params.id;
db.collection('quotes').findOneAndDelete({'_id': ObjectId(uid) }, (err, result) => {
if (err) return res.send(500, err);
res.send(result);
}); 
});

db.collection('quotes').find({''u id':uid})
是否有任何结果?根据文档
根据筛选和排序条件删除单个文档,并返回删除的文档
。您得到的结果不正确。我认为您在查询对象中缺少objectId:
{''u id':objectId(uid)}
@cbass请回答,这很可能是正确的原因=D@robertklep完成!
db.collection('quotes').find({''u id':uid})
是否有任何结果?根据文档
根据筛选和排序条件删除单个文档,并返回删除的文档
。您得到的结果不正确。我认为您在查询对象中缺少objectId:
{''u id':objectId(uid)}
@cbass请回答,这很可能是正确的原因=D@robertklep完成!谢谢,现在工作正常了。添加var ObjectId=require('mongodb')后。ObjectId;还有{uid':ObjectId(uid)}谢谢,现在它工作正常了。添加var ObjectId=require('mongodb')后。ObjectId;和{u id':ObjectId(uid)}
var ObjectId = require('mongodb').ObjectID;
app.get('/delete/:id', (req, res) => {
var uid = req.params.id;
db.collection('quotes').findOneAndDelete({'_id': ObjectId(uid) }, (err, result) => {
if (err) return res.send(500, err);
res.send(result);
}); 
});