내 웹 사이트는 통지 시스템입니다. facebook
과 같은 알림 시스템. 또는 stackoverflow
. 문제가 있습니다.nodejs 알림 시스템
DB에 저장하는 방법은 무엇입니까? 사용자 문서에 모든 알림을 저장할 수 있습니까? 또는 떨어져 문서 (왜냐하면 내가 monogdb는 문서의 크기에 대한 제한이 있다고 생각하기 때문에?) 또는 지능적으로 저장? (inc 또는 db (값 : true/false 참조)를 사용하여 쿼리가 정교 해짐)
페이지를 가져 오는 방법은 무엇입니까? 예를 들어, 내
inbox
에있는 링크를 클릭하여stackoverflow
을 클릭하면 해당 페이지로 리디렉션됩니다. 하지만 나, 나는 에 대한multipage
시스템을 가지고있다. : 나는 100 명의 친구가있다. 페이지 당 30 개의 목록이 있습니다. 따라서 알림을 클릭하면 리디렉션 할 수 없습니다. 좋은 페이지를 알 수 없으므로 (사용자는 삭제할 수 있기 때문입니다)
대단히 감사합니다. 다른 아이디어가 있다면 알려주세요. 감사.
는편집 :
(내 영어 죄송합니다, 난 프랑스어 해요) 첫 번째 문제를 들어
, 나는 시간 내 구조를 선택하는 온다 기다릴 필요가 있음을 알고 있습니다. 내 통보가 좀 복잡하기 때문에 감정에 전진해라.
둘째로, 나는 문제를 해결했다.
{
friends: [
{_id: xxxxx, ts: xxxx},
{_id: xxxxx, ts: xxxx}
]
}
내가 모든 친구를 표시 상상 : 내가 이렇게 내 데이터를 저장 이 (가 알아 보았 쉽게이기 때문에 친구의 exemple을.) : 나는 설명 페이지 당 30. 문제는 다음과 같습니다.
- mongo를 사용하여 정렬 할 수없는 모든 친구를 표시하고 싶습니다. (약간의 문제)
- 친구를 특별한 친구로이 목록 (페이지 당 30 개)으로 안내하려면 항상
sort
을ts
개로 유지하십시오. 나는 그 페이지를 알 수 없다. 유니 솔루션은 모든 문서를 가져가는 것입니다. 하지만 성능이 매우 좋지 않습니다.
그래서, 나는이 같은 저장 :
{
friends: {
xxxx: {ts:xxx},
xxxx: {ts:xxx}
}
}
내가 문서를 정렬 할 수 있습니다 알고, 사용과 생략하고 제한. 내가 원하는 부분을 원한다면 모든 문서를 가져갈 필요가 없습니다.
페이지를 알기 위해서는 < 또는>에 해당하는 숫자를 입력하십시오.> 예를 들어 11 명의 친구를 사귀고 싶은 친구들에게> 모든 친구 (예 : : 50 친구) 50과 11, 나는 페이지를 추측 할 수있다.
이 해결책이 좋습니까? - 난 카운트 필요 -의 수를 알 수있는 쿼리> 또는 < 을 그리고 난 내가 수를 사용하는 이유 당신이 이해하지 못하는 수 the sort ts
유지, 친구를 나열된 페이지를 취할 수 있습니다. 그들은 같은 문서에 저장하지 않기 때문에 필요합니다.
2 편집 :
이 솔루션의 문제는, 내가 query object
을해야하고 mongo query
(예의 update object
외부 있다는 것입니다 : friends.xxxxxx: {$exists:true}
추신을 위해 : 그리고 이점 사용할 수 있습니다 MongoDB를위한 ts
대신 date
? 나는 ts
을 사용하고 있습니다하지만 난 date
을 저장합니다 생각하지, 더 ts
.
3 EDIT
나는 Sammaye
같이 할 것입니다. 별도의 문서에 보관하십시오. 다음을보십시오 : http://mongly.com/Multiple-Collections-Versus-Embedded-Documents/#1 and http://openmymind.net/2012/1/30/MongoDB-Embedded-Documents-vs-Multiple-Collections/
당신의 정보를 당신을 감사하십시오 :), 나는 나의 대답을 편집했다. –
나는 이렇게 생각한다. 모든 문제를 해결한다. –