//물품 일괄 삭제 : http://localhost:3000/item/deletebatch
router.delete('/deletebatch', async function(req,res,next){
try{
console.log(req.body)
let arr = [] //[{}, {}, {}]가 목표가 아니다 [1,2,3]이 목표임
for(let i=0; i < req.body.length; i++){
arr.push(req.body[i].code)
}
// const code = Number(req.query.code);
// [{"code" : 10001}, {"code": 10002}, {"code" : 10003}]
// req.body[0].code , req.body[1].code
// {code : [10001, 10002, 10003]}
// req.body.code[0]. req.body[1]
// DB접속 > DB선택 > 컬렉션(board) > 1개 가져오기
console.log("----------------------------------")
console.log(arr)
console.log("----------------------------------")
const dbConn = await db.connect(DBURL)
const coll = dbConn.db(DBNAME).collection("item");
const result = await coll.deleteMany({
_id: {$in : arr}
});
console.log(result)
if(result.deletedCount === req.body.length){
return res.send({status: 200})
}
return res.send({status : 0})
}
catch(err){
console.error(err);
return res.send({status: -1, result : err})
}
});
일괄삭제를 해주기 위해서는
const result = await coll.deleteMany({
_id: {$in : arr}
});
{$in : [0,1,2] } 와 같은 형태로 들어가야 한다.
기존 [ {}, {}, {} ]의 형태가 아니다.
그래서 반복문에서 위의 형태로 만들어서 들어가야 한다.