2014-09-22 6 views
1

클라이언트 측에서 구독하는 서버 측 컬렉션이 있습니다. 클라이언트에 서버 측 컬렉션에 대한 쓰기 권한이 없습니다.Meteor : 클라이언트 측 컬렉션 만 수정하십시오.

구독을 중지하거나 다른 경로로 이동할 때 클라이언트 측에서만 컬렉션을 수정하고 해당 변경 사항을 삭제하고 싶습니다.

어떻게 든 가능합니까?

답장을 보내 주셔서 감사합니다.

var Books = new Meteor.Collection('books', { 
    transform: function(doc){ 

     /* 
      A doc looks like this: 
      { 
       _id: "...", 
       title: "A nice title..." 
      } 
     */ 

     doc.clientTitle = new ReactiveVar("") 

     doc.setClientTitle = function(title){ 
      this.clientTitle.set(title) 
     } 

     doc.getTitle = function(){ 
      var clientTitle = this.clientTitle.get() 
      if(clientTitle == ""){ 
       return this.title 
      }else{ 
       return clientTitle 
      } 
     } 

    } 
}) 

를 한 후 제목을 얻을 수 theBook.getTitle()를 사용 theBook.setTitle('The new title') 클라이언트 만에를 업데이트 :

+0

클라이언트 측 컬렉션은 어떻습니까? ClientCollection = 새로운 Meteor.Collection (null); – user1852788

답변

0

나는 다음과 같이 클라이언트에서 변환을 사용합니다.

참고 : ReactiveVarreactive-var 패키지에서 제공됩니다.

+0

답변 해 주셔서 감사합니다. 아마 작동 할 것이지만 많은 콜렉션이있을 것입니다. 저는 콜렉션에 많은 속성을 가지고 있습니다. 더 우아한 방법이 없습니까? – tomet

관련 문제