Node.js MongoDB查找和更新

Node.js MongoDB查找和更新,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我在我的节点应用程序中使用mongoose。 我想获取所有状态为“已提交”的记录,并将这些记录返回到前台和后台。后台应将这些记录的状态从“已提交”更新为“已发送”。 我只想从前端到后端发出一个请求,并且应该完成这两个任务。1.获取并返回数据,2。更新这些记录的状态 { id:1 status:'Submitted' }, { id:2 status:'Submitted' }, { id:3 status:'Sent' } 因此,id为1,2的记录应发送到前

我在我的节点应用程序中使用mongoose。 我想获取所有状态为“已提交”的记录,并将这些记录返回到前台和后台。后台应将这些记录的状态从“已提交”更新为“已发送”。 我只想从前端到后端发出一个请求,并且应该完成这两个任务。1.获取并返回数据,2。更新这些记录的状态

{
   id:1
   status:'Submitted'
},
{
   id:2
   status:'Submitted'
},
{
   id:3
   status:'Sent'
}
因此,id为1,2的记录应发送到前端,两个记录的状态应更新为“已发送”

要发送到前端的数据:

{
   id:1
   status:'Submitted'
},
{
   id:2
   status:'Submitted'
}
发送数据后的数据库中的数据:

{
   id:1
   status:'Sent'
},
{
   id:2
   status:'Sent'
},
{
   id:3
   status:'Sent'
}
你有两个问题

  • 更新所有与条件匹配的
  • 返回更新的文档
  • 不幸的是,这两种方法在单个查询中都不可能实现

    updateMany
    可用于更新符合条件的所有文档。但它不会返回更新的文档

    另一方面,您有更新并返回的
    findOneAndModify
    。但正如名字所说,只有一份文件

    您可以根据需要选择


    我建议您先
    查找
    ,然后在前端使用它,然后向服务器发送
    更新名

    您能分享您的模式吗?我只有上面提到的两个字段