2017-12-30 29 views
0

이 순간까지 두 번의 업데이트를 시도하고 있습니다.이 코드를 수정하거나 설명해 주시겠습니까? 하나의 쿼리 만 사용하여 두 가지 업데이트를 수행하는 방법은 무엇입니까? ??다른 ID (MongoDB, NodeJS)를 가진 두 개의 보드를 업데이트 할 수 없습니다.

Board.findOneAndUpdate({ _id: transferObj.idBoard }, 
    { 
     $set: { 
      ['lists.' + transferObj.fromIndexList + '.cards']: transferObj.fromCards, 
     } 
    }, 
    { 
     upsert: true 
    }, 
    Board.findOneAndUpdate({ _id: transferObj.toBoard }, 
     { 
      $set: { 
       ['lists.' + transferObj.toList + '.cards']: transferObj.toCards, 
      } 
     }, 
     { 
      upsert: true 
     }, 
     ((err, updated) => { 
      if (err) { console.log(err) } 
      else { res.status(200).send('Deleted'); } 
     }) 

답변

0

아마도 이가 작동합니까?

Board.bulkWrite(
    [ 
     { 
      updateOne: { 
       filter: { _id: transferObj.idBoard }, 
       update: { 
        ['lists.' + transferObj.fromIndexList + '.cards']: transferObj.fromCards 
       } 
      } 
     }, 
     { 
      updateOne: { 
       filter: { _id: transferObj.toBoard }, 
       update: { 
        ['lists.' + transferObj.toList + '.cards']: transferObj.toCards 
       } 
      } 
     } 
    ], 
    function (err, result) { 
     if (err) { 
      console.log(err) 
     } else { 
      console.log(result) 
     } 
    } 
); 
+0

이 두 보드에는 다른 ID가 있습니다. –

+0

좋아요, 알 수 없습니다. 내 대답 업데이트 –