데이터 저장
MongoDB에 저장
XPUSH는 MongoDB를 이용하여 플랫폼에 등록된 사용자 정보와 생성된 채널의 정보와 메세지 정보를 저장한다. 사용하는 collection은 아래와 같다.
channels
채널 정보를 저장하는 collection
channel.create
이벤트 발생시 채널 정보를 생성한다. 채널ID와 채널에 속해있는 사용자 정보를 저장한다.
channel.join
이벤트 발생시, 채널 내 사용자 리스트에 신규 사용자를 추가한다.
channel.leave
이벤트 발생시, 채널 내 사용자 리스트에서 신규 사용자를 삭제한다.
messages
메세지 정보를 저장하는 collection이다.
send
이벤트 발생시 채널ID와 발신자의 정보, 메시지를 받을 사용자의 리스트, 메시지 정보를 저장한다. 저장된 메시지는 메세지를 받을 사용자가 접속시 조회할 수 있다.
users
사용자 정보를 저장하는 collection이다. 등록된 장치들의 정보를 저장하고 있기 때문에 Multi Device 에게 메세지를 전송할 수 있다.
/user/register
API 호출시 사용자 정보를 생성한다.
/user/update
API 호출시 사용자 정보를 수정한다.
/device/add
API 호출시 사용자의 장비를 추가로 등록한다.