mongodb가 실시간 채팅을 저장할 때 사용자 채팅 목록을 검색하는 방법
仅有的幸福
仅有的幸福 2017-05-02 09:20:07
0
1
634
으아아아

저장할 때 위와 같이 ID 5의 사용자가 채팅한 사람, 즉 사용자 3과 4가 누구인지 알고 싶습니다. 이제 이 사용자와 콘텐츠를 포함한 정보를 얻으려고 합니다. 사용자 3과 같은 레코드에서 얻고 싶은 것은 위의 내용이 아닌 Guo Degang의 내용입니다. mongodb 초보자, 공 도움말

仅有的幸福
仅有的幸福

모든 응답(1)
洪涛

이것은 매우 일반적인 그룹화 TOP N 문제이며, SQLServer의

과 같은 SQL 데이터베이스에는 해당 표현식이 있습니다. 으아악

MongoDB에서 aggregation를 이용하면 해결 가능합니다. aggregation은 큰 주제이므로 여기서 모든 내용을 설명할 수는 없습니다. 아래에서 사용되는 다양한 연산자를 이해하려면 설명서만 확인하면 됩니다.

으아악

몇 가지 설명:

  1. {$sort: {_id: -1}}을 사용하는 것은 실제로 시간 역순입니다. _id에는 시간이 포함되어 있으며 대부분의 시간은 정렬 시간으로 간주될 수 있습니다.

  2. $first이 첫 번째 요소를 가져옵니다. 처음 n개의 요소를 가져오고 싶다면 어떻게 해야 할까요? $push+$slice 괜찮습니다

  3. 위 쿼리를 어떻게 더 빠르게 만들 수 있나요? db.chat.createIndex({current_uid: 1, _id: 1})

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿