>source

카테고리 필드가있는 스키마가 있습니다.

categories{
  category_1 : [],
  category_2 : [],
  category_3 :[] ,
}

특정 카테고리에서 참가자의 ID를 푸시하려고하므로 category_1에서 ID를 푸시 한 후 다음과 같아야합니다.

categories{
  category_1 : [contestant_id],
  category_2 : [],
  category_3 :[] ,
}

이들은 실제 데이터베이스의 필드입니다.

{ "_id" : ObjectId("5ee7e804311aa55316e5b20a"), "tournament_id" : "[email protected]", "name" : "Updated Tournament", "event_date" : "2020-06-30", "last_entry" : "2020-06-29", "entry_fee" : 6000, "categories" : { "MU10" : [ ], "FU18" : [ ], "MU7" : [ ], "MU8" : [ ], "MSENIOR" : [ ], "FSENIOR" : [ ], "MU9" : [ ], "FU10" : [ ] }, "__v" : 0 }

  • 답변 # 1

    다음과 같이 할 수 있습니다.

    db.yourcollection.update(
       { _id: ObjectId("5ee7e804311aa55316e5b20a") },
       { $push: { "categories.MU10": "contestant_id" } }
    )
    
    

  • 답변 # 2

    사용하다 $push 배열에 추가하려면 :

    예를 들어 추가하려면 contestant_id ~로 category_1 정렬:

    db.TABLE.update(
       { _id: 1 },
       { $push: { category_1: contestant_id } }
    )
    
    

  • 답변 # 3

    그래서 제가 이해하고 있듯이, 당신은 contestant_id ...에 categories.category_1 , 권리?

    이렇게하려면 간단히

    categories.category_1.push(contestant_id)
    
    

관련 자료

  • 이전 wifi - 무선 액세스 포인트로서의 RPi4 B + 팝업 http 페이지
  • 다음 php - 적절한 JSON 배열 응답 생성 문제