Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.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
Node.js nodejs/mongoDb:在一个请求中更新多个字段_Node.js_Reactjs_Mongodb_Mongoose_React Redux - Fatal编程技术网

Node.js nodejs/mongoDb:在一个请求中更新多个字段

Node.js nodejs/mongoDb:在一个请求中更新多个字段,node.js,reactjs,mongodb,mongoose,react-redux,Node.js,Reactjs,Mongodb,Mongoose,React Redux,如何更新多个orderStatus而不是一个 request.body.type默认为字符串,只包含一种类型 当类型的isCompleted变为真时,我甚至希望以前的枚举索引isCompleted变为真 是否可能,或者是否需要在前端对其进行修改 这是密码 const orderSchema=new mongoose.Schema( { 用户:{ 类型:mongoose.Schema.Types.ObjectId, 参考:“用户”, 要求:正确, }, 订单状态:[ { 类型:{ 类型:字符串,

如何更新多个orderStatus而不是一个

request.body.type
默认为字符串,只包含一种类型

当类型的
isCompleted
变为真时,我甚至希望以前的枚举索引
isCompleted
变为真

是否可能,或者是否需要在前端对其进行修改

这是密码

const orderSchema=new mongoose.Schema(
{
用户:{
类型:mongoose.Schema.Types.ObjectId,
参考:“用户”,
要求:正确,
},
订单状态:[
{
类型:{
类型:字符串,
枚举:[“已订购”、“已包装”、“已装运”、“已交付”],
默认值:“已订购”,
},
日期:{
类型:日期,
},
已完成:{
类型:布尔型,
默认值:false,
},
},
],
}
exports.updateOrder=(请求、回复)=>{
Order.updateOne(
{u id:req.body.orderId,“orderStatus.type”:req.body.type},
{
$set:{
“订单状态。$”:[
{type:req.body.type,日期:new date(),isCompleted:true},
],
},
}
).exec((错误,顺序)=>{

您在更新中尝试过数组过滤器吗?我可以将数组过滤器放在updateOrder中的什么位置?