2013-11-23 7 views
0

저장 내 upsert과 .update를이다 : 잘 저장왜 몽구스에 .save 작업을 수행하지만

 tx = new Transaction transaction 

     tx.save (err) -> 
      console.log err 
      cb err 

합니다.

Transaction.update transaction, {upsert: true}, (err, num, raw) -> 
     console.log err 
     console.log num 
     console.log raw 

그러나 내 업데이트로 인해 문서가 업데이트되지 않습니다. 또한 num에 대해서는 err 및 0을 반환합니다. "mongoose": "~3.8.0"

답변

1

update 함수의 첫 번째 매개 변수는 하나 이상의 문서 (reference)와 일치하는 쿼리입니다.

Transaction.update으로 전화하면 전체 개체가 아닌 _id 문서 만 포함될 것으로 기대됩니다. 두 번째 매개 변수는 전체 문서이거나 업데이트 연산자를 사용하는 객체입니다. 어쩌면 당신은 문서화 된 update operators 중 하나를 사용하여 트랜잭션의 특정 속성을 설정하려면,

Transaction.update _id : transaction._id, transaction, upsert: true, 
    (err, num, raw)->  

을 또는 : 그것은 가능

은 당신이 원하는.

Transaction.update _id : transaction._id, $set : { amount : 500 } , 
     upsert : true, (err, num, raw) -> 
관련 문제