2012-04-01 2 views
1

것은이 같은 문서가 상상 :내부 문서를 쿼리하는 방법은 무엇입니까?

이제
post = {title: "a", comments: [{hour: "08:00", "text": "abc"}, {hour: "09:00", "text": "def"}]} 

내가 약 1000 게시물이있을 수 있습니다 각각 100 개 의견이, 우리가 주위 100000 의견이 의미

  • 을하지만 난 찾을 수있는 방법을하는 코멘트가있는 가장 일반적인 시간입니까?
  • 최대 100 개 또는 1000 개의 댓글을 유지하는 것이 가능합니까?
  • 모든 사용자 의견을 얻으세요. 내가 코멘트와 함께 사용자 문서에 배열을 만들 수도 = [...]?
  • 그들은 _key 속성이 없다는 것을 알지만, 하나를 사용하고 싶습니다. 자체 키 시스템을 구현하지 않고도 가능합니까?
  • 댓글이있는 컬렉션을 가지고있을 수 있습니다. too?

또 다른 예는 다음과 같습니다 나는 현재 주식의보다 큰 25 %였다 20,120,101에 수행 된 모든 기사의 모든 움직임을하고자한다면이 할 수있는 방법

article = {code: "X900123", quantity: 24, movementsHistory: [{date:20120101, quantity: 3}, {date:20120102, quantity: 5}]} 

? - mysql에서 기사 및 동작에 대한 테이블을 가지고, 각 동작은 기사에 연결됩니다. 따라서 기사와 동작에 참여하여 결과를 얻을 수 있습니다. 도움을

감사 ((모든 기사, 하나 하나도 약) :..? 여기

답변

3

좋아, 많은 질문

  1. 사용 MapReduce
  2. (100) 가장 일반적인 코멘트 네, 가능합니다 , MapReduce를 사용하십시오
  3. 사용자 문서에 코멘트를 복사 할 수 있습니다. 예 또는 MapReduce를 사용할 수도 있습니다.
  4. id 생성기를 직접 만들 필요가 없습니다. 모든 공식 드라이버는 c 새로운 ObjectIds의 Reation (서버에 접속하지 않고 클라이언트에서).
  5. 주석을 첫 번째 엔티티로 처리하고 삽입 된 엔티티로 처리하지 않으려 고하기 때문에이 방법이 가장 합리적인 해결책입니다. 일류 실체를 임베드해서는 안되며, 일을 더 어렵게 만듭니다. 주석에 고유 한] 렉션이있는 경우 실행할 수있는 조회에 대해 더 많은 자유가 있습니다. "embed vs. link"more information이 있습니다.

두 번째 예 제가 실제로 이해하지 못했습니다.

관련 문제