나는 이것이 근심 문제라는 것을 알고 있지만 iron 라우터의 경로에서 문서의 값을 업데이트하는 방법을 알아 내려고하고 있습니다. 함수를 넣는 데 필요한 지점을 찾았지만 작동 시키려면 필요한 몽고 코드로 고생하고 있습니다.iron-router 함수에서 doc 값을 업데이트하는 방법
링크를 클릭 할 때마다 views 요소를 증가 시키려고하므로 경로에 다음 코드를 추가해야합니다.
data: function() {
var project = projectDocs.findOne(this.params._id);
// need to increment views value by one
console.log(project.views);
projectDocs.update({id: project.id},
{$inc: {views: 1}}
);
console.log(project.views);
return project;
}
});
project.views 값은 올바른 값을 반환하지만 값을 업데이트하는 코드는 현재 예외를 throw합니다.
나는 함수 내에서 변수를 증가시키는 project.views ++의 간단한 것을 시도했지만, 결코 데이터베이스에 푸시되지 않는다.
누군가 내가이 가치를 얻는 데 필요한 방향으로 나를 가리킬 수 있습니까? (그리고 이것을 수행하기에 적합한 곳입니까?).
감사합니다.
피터.
OK, 나는 나에게 당신은 (내가 보인다 문자열로이 있었다.
을 숫자 값을 inc를 할 수 있다고 설명하는 방식 http://books.google.com.au/books?id=uGUKiNkKRJ0C&pg=PA37&lpg=PA37&dq=Cannot+apply+$inc+modifier+to+non-number&source=bl&ots=h7qyOddRsf&sig=EWFw9kNLGHoFEUS-nTNsBStDRcQ&hl=en&sa=X&ei=cRGXUse0DNGciAfk6YHgCA&ved=0CFcQ6AEwBQ#v=onepage&q=Cannot%20apply%20%24inc%20modifier%20to%20non-number&f=false의 일부를 이끌가이 링크를 발견 이제 문제는 내가하는 것이다 무한 루프에있을.
this.route('projectPage', {
path: '/projects/:_id',
waitOn: function() {
return Meteor.subscribe('singleProject', this.params._id);
},
data: function() {
var project = projectDocs.findOne(this.params._id);
// need to increment views value by one
console.log("Views", project.views);
console.log("Project", project);
projectDocs.update(project._id,
{$inc: {views: 1}}
);
console.log(project.views);
return project;
}
});
왜이 반복 될 것 같은
는
기능은 이제 보인다? 대신 ID의
OK, 당신이 여기 가지고 '/ projectDocs/업데이트' 오류를 호출의 효과를 시뮬레이션하면서 콘솔에 던져 예외가 "예외 무엇에 맞게 코드를 변경 : 비 수 에 $ INC 수정을 적용 할 수 없습니다 \t ... r ("비 수정 번호에 $ inc 수정 기호를 적용 할 수 없습니다.);" 전체 코드가 뒤 따른다. –
보기 필드는 숫자가되어야합니다. 예외는 모두 예외입니다. 수정하고 업데이트가 작동해야합니다. – landland