You can try using .findOneAndUpdate() with arrayFilters
to achieve that :
Query :
db.getCollection('product_number').findOneAndUpdate(
{ "_id": ObjectId("5e2fd6f7413b5d25be4ac9b6"), 'product_nums.product_number': { '$in': ['MultiProdNum1'] } },
{
$set: {
'product_nums.$[item].product_status': 'S',
}
},
{
arrayFilters: [{ 'item.product_number': { '$in': ['MultiProdNum1'] } }],
returnNewDocument: true
})
Collection Data :
/* 1 */
{
"_id" : ObjectId("5e2fd6f7413b5d25be4ac9b1"),
"product_id" : ObjectId("5e2fd4447ec0863eb053dc5d"),
"shipment" : "R",
"product_print_company" : ObjectId("5e12efdca7b696ea1d3c7f31"),
"reg_date" : "2020-01-28 06:38:47",
"product_nums" : [
{
"product_number" : "MultiProdNum1",
"product_brand" : "digitech",
"product_date" : "2020-01-27",
"product_manufacturer" : "山田",
"product_number_type" : "Q",
"product_status" : "F",
"product_eos_hx" : "c0947adbae4e52bec538f41d9e57414aa878e134e3885cb0c717ee649789bbb5",
"product_eos_status" : "P",
"prodcut_qrcode" : "X903fMr6SINiOG87ADCos8qVUI8I3I3MqQz5n65aFFMH1WRf+vCZ3nZBEXjT0dtb"
},
{
"product_number" : "MultiProdNum2",
"product_brand" : "",
"product_date" : "2020-01-27",
"product_manufacturer" : "福田",
"product_number_type" : "Q",
"product_status" : "F",
"product_eos_hx" : "c0947adbae4e52bec538f41d9e57414aa878e134e3885cb0c717ee649789bbb5",
"product_eos_status" : "P",
"prodcut_qrcode" : "X903fMr6SINiOG87ADCos8qVUI8I3I3MqQz5n65aFFMH1WRf+vCZ3nZBEXjT0dtb"
},
{
"product_number" : "MultiProdNum1",
"product_brand" : "digitech2222222222222",
"product_date" : "2020-01-27",
"product_manufacturer" : "山田",
"product_number_type" : "Q",
"product_status" : "F",
"product_eos_hx" : "c0947adbae4e52bec538f41d9e57414aa878e134e3885cb0c717ee649789bbb5",
"product_eos_status" : "P",
"prodcut_qrcode" : "X903fMr6SINiOG87ADCos8qVUI8I3I3MqQz5n65aFFMH1WRf+vCZ3nZBEXjT0dtb"
}
],
"mod_date" : "2020-01-28 07:52:09"
}
/* 2 */
{
"_id" : ObjectId("5e2fd6f7413b5d25be4ac9b6"),
"product_id" : ObjectId("5e2fd4447ec0863eb053dc5d"),
"shipment" : "R",
"product_print_company" : ObjectId("5e12efdca7b696ea1d3c7f32"),
"reg_date" : "2020-01-28 06:38:47",
"product_nums" : [
{
"product_number" : "MultiProdNum1",
"product_brand" : "digitech",
"product_date" : "2020-01-27",
"product_manufacturer" : "山田",
"product_number_type" : "Q",
"product_status" : "F",
"product_eos_hx" : "c0947adbae4e52bec538f41d9e57414aa878e134e3885cb0c717ee649789bbb5",
"product_eos_status" : "P",
"prodcut_qrcode" : "X903fMr6SINiOG87ADCos8qVUI8I3I3MqQz5n65aFFMH1WRf+vCZ3nZBEXjT0dtb"
},
{
"product_number" : "MultiProdNum2",
"product_brand" : "",
"product_date" : "2020-01-27",
"product_manufacturer" : "福田",
"product_number_type" : "Q",
"product_status" : "F",
"product_eos_hx" : "c0947adbae4e52bec538f41d9e57414aa878e134e3885cb0c717ee649789bbb5",
"product_eos_status" : "P",
"prodcut_qrcode" : "X903fMr6SINiOG87ADCos8qVUI8I3I3MqQz5n65aFFMH1WRf+vCZ3nZBEXjT0dtb"
},
{
"product_number" : "MultiProdNum1",
"product_brand" : "digitech22222222222",
"product_date" : "2020-01-27",
"product_manufacturer" : "山田",
"product_number_type" : "Q",
"product_status" : "F",
"product_eos_hx" : "c0947adbae4e52bec538f41d9e57414aa878e134e3885cb0c717ee649789bbb5",
"product_eos_status" : "P",
"prodcut_qrcode" : "X903fMr6SINiOG87ADCos8qVUI8I3I3MqQz5n65aFFMH1WRf+vCZ3nZBEXjT0dtb"
}
],
"mod_date" : "2020-01-28 07:52:09"
}
Result :
/* 1 */
{
"_id" : ObjectId("5e2fd6f7413b5d25be4ac9b1"),
"product_id" : ObjectId("5e2fd4447ec0863eb053dc5d"),
"shipment" : "R",
"product_print_company" : ObjectId("5e12efdca7b696ea1d3c7f31"),
"reg_date" : "2020-01-28 06:38:47",
"product_nums" : [
{
"product_number" : "MultiProdNum1",
"product_brand" : "digitech",
"product_date" : "2020-01-27",
"product_manufacturer" : "山田",
"product_number_type" : "Q",
"product_status" : "F",
"product_eos_hx" : "c0947adbae4e52bec538f41d9e57414aa878e134e3885cb0c717ee649789bbb5",
"product_eos_status" : "P",
"prodcut_qrcode" : "X903fMr6SINiOG87ADCos8qVUI8I3I3MqQz5n65aFFMH1WRf+vCZ3nZBEXjT0dtb"
},
{
"product_number" : "MultiProdNum2",
"product_brand" : "",
"product_date" : "2020-01-27",
"product_manufacturer" : "福田",
"product_number_type" : "Q",
"product_status" : "F",
"product_eos_hx" : "c0947adbae4e52bec538f41d9e57414aa878e134e3885cb0c717ee649789bbb5",
"product_eos_status" : "P",
"prodcut_qrcode" : "X903fMr6SINiOG87ADCos8qVUI8I3I3MqQz5n65aFFMH1WRf+vCZ3nZBEXjT0dtb"
},
{
"product_number" : "MultiProdNum1",
"product_brand" : "digitech2222222222222",
"product_date" : "2020-01-27",
"product_manufacturer" : "山田",
"product_number_type" : "Q",
"product_status" : "F",
"product_eos_hx" : "c0947adbae4e52bec538f41d9e57414aa878e134e3885cb0c717ee649789bbb5",
"product_eos_status" : "P",
"prodcut_qrcode" : "X903fMr6SINiOG87ADCos8qVUI8I3I3MqQz5n65aFFMH1WRf+vCZ3nZBEXjT0dtb"
}
],
"mod_date" : "2020-01-28 07:52:09"
}
/* 2 */
{
"_id" : ObjectId("5e2fd6f7413b5d25be4ac9b6"),
"product_id" : ObjectId("5e2fd4447ec0863eb053dc5d"),
"shipment" : "R",
"product_print_company" : ObjectId("5e12efdca7b696ea1d3c7f32"),
"reg_date" : "2020-01-28 06:38:47",
"product_nums" : [
{
"product_number" : "MultiProdNum1",
"product_brand" : "digitech",
"product_date" : "2020-01-27",
"product_manufacturer" : "山田",
"product_number_type" : "Q",
"product_status" : "S",
"product_eos_hx" : "c0947adbae4e52bec538f41d9e57414aa878e134e3885cb0c717ee649789bbb5",
"product_eos_status" : "P",
"prodcut_qrcode" : "X903fMr6SINiOG87ADCos8qVUI8I3I3MqQz5n65aFFMH1WRf+vCZ3nZBEXjT0dtb"
},
{
"product_number" : "MultiProdNum2",
"product_brand" : "",
"product_date" : "2020-01-27",
"product_manufacturer" : "福田",
"product_number_type" : "Q",
"product_status" : "F",
"product_eos_hx" : "c0947adbae4e52bec538f41d9e57414aa878e134e3885cb0c717ee649789bbb5",
"product_eos_status" : "P",
"prodcut_qrcode" : "X903fMr6SINiOG87ADCos8qVUI8I3I3MqQz5n65aFFMH1WRf+vCZ3nZBEXjT0dtb"
},
{
"product_number" : "MultiProdNum1",
"product_brand" : "digitech22222222222",
"product_date" : "2020-01-27",
"product_manufacturer" : "山田",
"product_number_type" : "Q",
"product_status" : "S",
"product_eos_hx" : "c0947adbae4e52bec538f41d9e57414aa878e134e3885cb0c717ee649789bbb5",
"product_eos_status" : "P",
"prodcut_qrcode" : "X903fMr6SINiOG87ADCos8qVUI8I3I3MqQz5n65aFFMH1WRf+vCZ3nZBEXjT0dtb"
}
],
"mod_date" : "2020-01-28 07:52:09"
}