개체 모델별로 사용자 모델을 참조하는 동영상 모델이 있습니다. 사용자가 참석 목록에서 자신을 추가하거나 제거 할 수 있으며 mode.findOneAndUpdate를 사용하여 구현하려고합니다. 나는 기존의 참석하는 사용자가 삭제되지 않도록 $ 세트를 추가해야한다는 것을 알았지 만, 사용자가 자신을 추가 할 때 $ 세트를 사용해도 모든 기존 사용자가 삭제되고 이제는이 사용자 만이 목록에 있습니다.기존 값을 삭제하지 않고 문서 업데이트
영화 모델 여기
{
"_id" : ObjectId("fhdfdca5e1b94fafadhfg1"),
"date" : ISODate("2016-10-05T13:56:43.939Z"),
"attending" : [
ObjectId("fhdf6d0e4501f294a6dgd2")
],
"__v" : 0
}
의 내 findandupdate : 여기
코드의...
.findOneAndUpdate({_id:req.body.movieId}, {$set:{attending:req.body.imAttending}}, {upsert:true})
어떻게 단순히 내 참석 목록에 항목을 추가하는 방법은 무엇입니까?
TL, 당신 만의 고유 값을 addToSet을 목록에 반복 신경 또는 $하지 않는 경우 DR
사용 $ 푸시가 설정되지 $. 아래의 답변 및 의견을 참조하십시오.
그레이트! $ set이 작동하지 않는 것 같아서 배열을위한 또 다른 연산자가 있다고 의심해 보았습니다. 모든 연산자가있는 목록은 어디에 있습니까? –
@ S.Schenk은 업데이트 운영자를 위해 [이 목록] (https://docs.mongodb.com/manual/reference/operator/update/#id1)을 참조하십시오. 전역 연산자 목록은 [here] (https://docs.mongodb.com/manual/reference/operator/)에서 시작합니다. – robertklep
나는 추가 된 경우에도 동일한 사용자를 목록에 계속 추가하는 것으로 나타났습니다. 나는 참석 표제 목록에 그 특유의 것을 막으려 고 노력했으나 효과가 없었습니다. 모든 단서? –