gamerId가 뒤끝베이스 서버 안 해당테이블에 있는지 없는지 부르는법

고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.

커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.

문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.

  • 뒤끝 SDK 버전 :
  • 프로젝트명 :
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :
float[] list = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f };
            Param param = new Param()
                {
                    {"character", 1},
                    {"hintCount", 1},
                    {"map", scene.name},
                    {"mapDetail", mapId},
                    {"userLocation",list }//씬이름 들어가야함
                };
            var bro = Backend.GameData.GetMyData("USERINFO", new Where(), 10);
            string gamerId = bro.FlattenRows()[0]["gamerId"].ToString();
            //사용자 UUID랑 Gamper_id가 일치함. 사용자의 Gamper_id를 들고와서, 그게 서버에 데이터가 없으면 "생성" 있으면 "업데이트(수정)"
            Backend.BMember.GetUserInfo((callback) =>
            {
                string inDate = callback.GetReturnValuetoJSON()["row"]["inDate"].ToString();
                string userUUID = callback.GetReturnValuetoJSON()["row"]["gamerId"].ToString();
                Debug.Log(userUUID);
                Debug.Log(inDate);
                Where where = new Where();
                where.Equal("gamer_id", userUUID);

                if (userUUID == gamerId)
                {
                    Backend.GameData.Insert("USERINFO", param, callback => //사용자위치정보 서버에 "생성"
                    { //비동기
                        if (callback.IsSuccess())
                        {
                            //게임 정보의 고유값
                            gameDataRowInDate = callback.GetInDate();
                            Debug.Log($"게임 정보 데이터 생성(삽입)에 성공했습니다. : {callback}");
                        }
                        else
                        {
                            Debug.LogError($"게임 정보 데이터(삽입)에 실패했습니다. : {callback}");
                        }
                    });
                }
                else
                {
                    Backend.GameData.Update("tableName", where, param, (callback) => //사용자위치정보 서버에 "업데이트(수정)"
                    {
                        if (callback.IsSuccess())
                        {
                            //게임 정보의 고유값
                            gameDataRowInDate = callback.GetInDate();
                            Debug.Log($"게임 정보 데이터 업데이트(수정)에 성공했습니다. : {callback}");
                        }
                        else
                        {
                            Debug.LogError($"게임 정보 업데이트(수정)에 실패했습니다. : {callback}");
                        }
                    });
                }
            });

        }

안녕하세요. 플레이어의 맵위치정보를 서버에 생성(create)하고 수정(update)하고 싶은데 질문이있어요.
뒤끝베이스에 사용자의 Gamper_id를 들고와서 해당 테이블에 그 사용자의 대한 Gamper_id가
서버에 없으면 “생성(create)”
서버에 있으면 “수정(update)” 을 하고 싶습니다.

이걸 조건문을 어떻게 짜야될지…저 위에 코드 봐주세요. “if(gamerId가 서버 해당테이블있다면)” 이 뒤끝베이스안의 해당테이블에 gamerId가 있는지 어떻게 만들어야하나요?ㅜㅜ

안녕하세요 개발자님.

타인의 데이터를 얻어오고 싶을 경우에는 gamer_id가 아닌 owner_inDate라는 유저 고유 ID를 사용하여야합니다.

다음과 같이 닉네임을 통해 타인의 owner_inDate를 불러오고

var bro = Backend.Social.GetUserInfoByNickName("nickName");

//example
string gamerIndate = bro.GetReturnValuetoJSON()["row"]["inDate"].ToString();
Where where = new Where();
where.Equal("owner_inDate", gamerIndate );

var bro = Backend.GameData.Get("tableName", where, 10);
if (bro.IsSuccess() == false)
{
    // 요청 실패 처리
    Debug.Log(bro);
    return;
}
if (bro.GetReturnValuetoJSON()["rows"].Count <= 0)
{
    // 요청이 성공해도 where 조건에 부합하는 데이터가 없을 수 있기 때문에
    // 데이터가 존재하는지 확인
    // 위와 같은 new Where() 조건의 경우 테이블에 row가 하나도 없으면 Count가 0 이하 일 수 있다.
    Debug.Log(bro);
    return;
}

// 검색한 데이터의 모든 row의 inDate 값 확인
for(int i=0; i<bro.Rows().Count; ++i)
{
    var inDate = bro.Rows()[i]["inDate"]["S"].ToString();
    Debug.Log(inDate);
}

를 통해 해당 테이블에 해당 유저의 데이터가 존재하는지 확인할 수 있습니다.