2016-12-15 4 views
0

저는 사람들이 주제에 관한 글을 올릴 수 있고 소셜 네트워크를 좋아할만한 일종의 소셜 네트워크에서 일하고 있습니다.rethinkdb에서 사용자 정보가있는 게시물 가져 오기

좋아하는 사용자를 추적하는 데 문제가있는 임.

사용자 : {userId를 "someId"추천했습니다 : [ "idPost1을", "idPost4", ...]}

게시물 :

스키마는 다음과 {postId : "someId", 주제 : "idTopic", postContent :

  1. 이 같은 특정 주제에서 모든 게시물을 가지고 : "someContent은"}

    내가 할 수있는 질의를 필요로 :.

    r.table ('게시물'() { 주제 : idTopic 을}) 필터링 할 수 있습니다.. 다음() 실행 (글 => res.json (게시물))

  2. 볼 수 조회 현재 사용자 (사용자 ID에 의해 주어진)가 특정 주제에 대한 게시물을 좋아한다면 그런 다음 해당 주제에 대한 모든 게시물과 "favorite : true"로 사용자가 좋아하는 JSON을 반환하십시오. 2 단계와

임 데 문제가,

메신저 모델링 데이터를 잘못된 방향으로 경우에 당신이 어떤 방법을 생각할 수있는 경우, 또는 I 단계 2.

감사를 수행 할 수 알려 주시기 바랍니다!

답변

0

이 함수는 자바 스크립트에서 찾고있는 것을 수행합니다. 병합 기능은 기본적으로 모든 것들을 반복 처리 분야가 그것을 좋아 추가

r.db("test").table('posts').filter({ topic: "idTopic" }).merge(function(post){ 
    return {liked: r.table('users').filter({userId: "someId"})(0)('likes').contains(post("postId")) }; }) 

(데이터 탐색기를 사용하여 테스트). contains 함수는 게시물 ID가 좋아하는 배열에 있는지 여부를 확인하고 진실 값으로 직접 반환합니다.