로그인 한 사용자가 블로그 게시물을 스크롤 할 때 즉시 결과에서 게시물을 제거하는 'x'버튼을 클릭 할 수 있으므로이 기능을 만들고 싶습니다. 그 게시물은 해당 사용자에 대한 향후 검색 결과에서 양보되지 않습니다.유성 : 로그인 한 사용자가 검색 결과에서 문서를 삭제할 수 있습니다.
이것은 내가 지금까지 가지고 있으며 게시물의 문서 ID를 검색하는 'x'버튼의 관점에서 작동합니다. 그런 다음이 ID를 배열 필드에 삽입했습니다 ...
not_intereted[],
이 필드는 사용자 프로필에 있습니다.
Accounts.createUser({
email: template.find("#signup-email").value,
password: template.find("#signup-password").value,
profile: {
not_interested: []} });
각 사용자는 전체 게시물 모음집에 가입되어 있습니다.
AllPosts = new Meteor.Collection('allposts')
렌더링 된 각 게시물에 대해 클릭하면 다음 이벤트가 발생합니다. 이 이벤트는 선택한 문서 _id를 변수 'a'로 성공적으로 가져옵니다. 이 변수는 메소드에 성공적으로 전달됩니다. 서버에서
Template.postBoard.events({
'click a.close': function(e){
e.preventDefault();
Session.set("selectedPostId", this._id);
var a = Session.get('selectedPostId');
Meteor.call('addToremoveList', a);
}
});
: 지금까지의 작품이 무엇
Meteor.methods({
'addToremoveList': function(a){
Meteor.users.update({ _id: Meteor.userId() }, { $addToSet: { 'profile.not_interested': a }});
}
});
. 사용자가 삭제하고자하는 문서 ID를 저장할 수 있습니다. ID는 not_interested
이라는 사용자 프로필 필드에있는 배열에 저장됩니다.
질문 :`AllPosts.find();를 호출 할 때 어떻게 이러한 not_interested
문서를 제거 할 수 있습니까?
Im 몽구스를 구현하는 방법이 확실하지 않습니다. $ne
.
감사합니다. 전체 게시물 컬렉션에 가입 한 모든 사용자를 유지 http://docs.mongodb.org/manual/reference/operator/query/nin/#op._S_nin
:
테스트 목적으로 코드를 도우미 안에 넣었습니다. Brilliant,하지만 철제 라우터에 이것을 쓰는 방법을 안내해 줄 수 있습니까? 'allPostsTemplate'을 템플릿 이름으로 가정합니다. – meteorBuzz
문서를보십시오 : https://github.com/EventedMind/iron-router/blob/devel/DOCS.md#data . 기본적으로 당신이하는 일은 당신의 경로 안에서 데이터를 사용하는 것입니다 : {selectedPosts : AllPosts.find ({_ id : {$ nin : Meteor.user(). profile.not_interested}}}}}} 도우미 기능. – tomet
코드가 라우터 내에서 다음과 같이 작동했습니다 ... data : function() {return {selectedPosts : AllPosts.find ({_ id : {$ nin : Meteor.user(). profile.not_interested}}}}} 프리츠 2000 – meteorBuzz