Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.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 使用删除请求删除MongoDB集合中的最后一个文档_Javascript_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Javascript 使用删除请求删除MongoDB集合中的最后一个文档

Javascript 使用删除请求删除MongoDB集合中的最后一个文档,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,我不熟悉RESTAPI,只想使用mongoose的删除路由删除mongoDB集合中的最后一篇文章。此处的其他答案没有解释如何通过路线执行此操作。。仅使用db对象 这就是我当前路线的样子(我没有收到任何错误,但它没有删除): 我也尝试过使用findOneAndDelete()来实现这一点,但都是一样的,日志中没有错误,200个OK响应,没有帖子删除: const removedPost = await Post.findOneAndDelete( { __v: 0 }, {

我不熟悉RESTAPI,只想使用mongoose的删除路由删除mongoDB集合中的最后一篇文章。此处的其他答案没有解释如何通过路线执行此操作。。仅使用db对象

这就是我当前路线的样子(我没有收到任何错误,但它没有删除):

我也尝试过使用
findOneAndDelete()
来实现这一点,但都是一样的,日志中没有错误,200个OK响应,没有帖子删除:

const removedPost = await Post.findOneAndDelete(
      { __v: 0 },
      { sort: { "date": -1 } }
    );
据我所知,我也尝试过这样做,但没有可选的“投影”:

我把这条路线叫做邮递员:,没有尸体。它的响应是200 OK,并且:

{
    "message": {
        "stringValue": "\"last\"",
        "kind": "ObjectId",
        "value": "last",
        "path": "_id",
        "reason": {}
    }
}
这是其中一个帖子的样子:

_id:6012f937a892270017007b31
title:"97273282974158320"
date:2021-01-28T17:49:43.582+00:00
__v:0
en1:"<div class="contact_us"><p style="font-size: 16px; font-weight: bold; ..."
en2:"<div class="qw"><div class="qe" data-country="cn.svg"><p class="qr">Ch..."
en3:"<div class="qw"><div class="qe" data-country="iq.svg"><p class="qr">Ir..."
en4:"<div class="qw"><div class="qe" data-country="pe.svg"><p class="qr">Pe..."
en5:"<div class="qw"><div class="qe" data-country="ta.svg"><p class="qr">Tr..."
fr1:"<div class="contact_us"><p style="font-size: 16px; font-weight: bold; ..."
fr2:"<div class="qw"><div class="qe" data-country="cn.svg"><p class="qr">Ch..."
fr3:"<div class="qw"><div class="qe" data-country="iq.svg"><p class="qr">Ir..."
fr4:"<div class="qw"><div class="qe" data-country="pe.svg"><p class="qr">Pe..."
fr5:"<div class="qw"><div class="qe" data-country="ta.svg"><p class="qr">Tr..."
de1:"<div class="contact_us"><p style="font-size: 16px; font-weight: bold; ..."
de2:"<div class="qw"><div class="qe" data-country="cn.svg"><p class="qr">Ch..."
de3:"<div class="qw"><div class="qe" data-country="iq.svg"><p class="qr">Ir..."
de4:"<div class="qw"><div class="qe" data-country="pe.svg"><p class="qr">Pe..."
de5:"<div class="qw"><div class="qe" data-country="ta.svg"><p class="qr">Tr..."
\u id:6012F937A89227007007B31
标题:“97273282974158320”
日期:2021-01-28T17:49:43.582+00:00
__v:0

en1:“你可以这样尝试:

let x = await Post.findOne({}).sort({date: -1});
await x.remove();
router.delete("/", async (req, res) => {
  try {
    let x = await Post.findOne({}).sort({ date: -1 });
    await x.remove();
    res.status(200).json({ message: "deleted place" })
  } catch (err) {
    res.json({ message: err });
  }
});
所以你的路线应该是这样的:

let x = await Post.findOne({}).sort({date: -1});
await x.remove();
router.delete("/", async (req, res) => {
  try {
    let x = await Post.findOne({}).sort({ date: -1 });
    await x.remove();
    res.status(200).json({ message: "deleted place" })
  } catch (err) {
    res.json({ message: err });
  }
});

您可以这样尝试:

let x = await Post.findOne({}).sort({date: -1});
await x.remove();
router.delete("/", async (req, res) => {
  try {
    let x = await Post.findOne({}).sort({ date: -1 });
    await x.remove();
    res.status(200).json({ message: "deleted place" })
  } catch (err) {
    res.json({ message: err });
  }
});
所以你的路线应该是这样的:

let x = await Post.findOne({}).sort({date: -1});
await x.remove();
router.delete("/", async (req, res) => {
  try {
    let x = await Post.findOne({}).sort({ date: -1 });
    await x.remove();
    res.status(200).json({ message: "deleted place" })
  } catch (err) {
    res.json({ message: err });
  }
});

嗯,这是可行的!但是它在mongo日志//DELETE LAST POST router.DELETE('/',async(req,res)=>{try{let x=wait POST.findOne({}).sort({date:-1});x.remove();}catch(err){res json({message:err}})删除最新的一个我认为不是最后一个..代码正确吗?503服务不可用错误..奇怪这段代码是正确的,你的问题是,当你删除位置时,不要使用res.json(),当删除成功时,我更新了我的答案HMMM这是有效的!但是它在mongo日志中抛出了一个超时错误//删除LAST POST router.delete('/',async(req,res)=>{try{let x=wait POST.findOne({}).sort({date 1});x.remove();}catch(err){res json({message err message:err}})这是删除最新的一个我认为不是最后一个..这是代码对吗?503服务不可用错误..奇怪这代码是正确的,你的问题是,当你删除位置时,不要使用res.json(),当删除成功时,我更新了我的答案