[MONGODB] 유성 수집의 정렬 순서를 업데이트하지 않습니다 구독
MONGODB유성 수집의 정렬 순서를 업데이트하지 않습니다 구독
// Snippet from Template
<div class="post-container">
{{#each elements}}
{{> post-element this}}
{{/each}}
</div>
// Snippet from Client
Meteor.subscribe('thePosts');
// Snippet from Server
Meteor.publish('thePosts', function(){
return Posts.find({}, {sort:{createdAt:-1}, reactive:true});
});
나는 할 때 ...
Posts.insert({body:postBody, createdAt: new Date()});
내 게시 기능에 지정된 내림차순 반대로 포스트 문서, 내 목록의 끝에 추가하고 나타납니다됩니다. 내가 잘못을하고있는 중이 대해 어떤 생각?
감사!
해결법
-
==============================
1.레코드는 모든 구독 클라이언트의 미니 몽고 데이터베이스에 동기화해야 함수를 결정을 게시 할 수 있습니다. 게시 기능으로 데이터를 정렬 그래서 실제로 가능성이 다른 방법에 저장됩니다 클라이언트 측 데이터베이스와 클라이언트에 아무런 영향을주지 않습니다.
레코드는 모든 구독 클라이언트의 미니 몽고 데이터베이스에 동기화해야 함수를 결정을 게시 할 수 있습니다. 게시 기능으로 데이터를 정렬 그래서 실제로 가능성이 다른 방법에 저장됩니다 클라이언트 측 데이터베이스와 클라이언트에 아무런 영향을주지 않습니다.
물론 당신은 N 가장 최근에 레코드의 수를 제한하기 위해 게시자의 발견으로 정렬 사용할 수 있습니다 -하지만 다시는 단지 기록이 동기화 된 결정의 방법 및하지 그들이에서 사용 / 저장되는 방법 클라이언트.
레코드가 클라이언트에 동기화 된 후에는 결과가 표시되는 방법을 결정하기 위해 템플릿 코드까지입니다. 예를 들면 :
Template.myTemplate.elements = function() { return Posts.find({}, {sort: {createdAt:-1}}); }
또한 일반적인 실수에 내 게시물의 "게시 분류"절을 참조하십시오.
-
==============================
2.당신은 당신의 템플릿 도우미 코드를 게시하지 않았다.
당신은 당신의 템플릿 도우미 코드를 게시하지 않았다.
당신이 도우미 함수에서 Posts.find ()를 호출 할 때 쿼리는 아래와 같이 같은 종류의 인수를 포함해야합니다 :
Template.myTemplate.elements = function(){ Meteor.subscribe('thePosts'); return Posts.find({}, {sort:{createdAt:-1}, reactive:true}); }
from https://stackoverflow.com/questions/15153349/meteor-subscribe-doesnt-update-sort-order-of-collection by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB를에 사진을 저장 (0) | 2019.12.12 |
---|---|
[MONGODB] 어떻게하여 MongoDB에서 인덱스 작업으로 분류 하는가? (0) | 2019.12.12 |
[MONGODB] Mongoose.js의 instance.save () 콜백 발사하지 (0) | 2019.12.12 |
[MONGODB] 어떻게 몽고의 "NOT IN"쿼리를해야합니까? (0) | 2019.12.11 |
[MONGODB] 문서의 중첩 배열에 포함 된 문서를 제거 (0) | 2019.12.11 |