[MONGODB] 유성 - collection.find ()는 항상 모든 필드를 반환
MONGODB유성 - collection.find ()는 항상 모든 필드를 반환
이 (약간 성가신 문제)에 란 내가 컬렉션의 모든 레코드를 검색하는 것을 시도하고 있지 않다 (또는 쇼) 특정 필드 (점수)를 보여줍니다. 이것은 단지 예입니다 내 실제 코드를 반영하지,하지만 문제는 항상 재현. 내가 제외하고 필드는 매우 큰 나는 단지 가능한 기록의 메뉴를 생성하기 위해 노력하고있어.
같은 명령
players.find({},{score:1})
players.find({},{score:0})
항상 대신 제외 트리거의 모든 필드를 반환 / MongoDB를에 포함. 템플릿이 잠재적으로 HTML로 렌더링됩니다 어떤 데이터를 제어 할 수 있기 때문에 오전 나는 아무것도 걱정? 또 관계없이 클라이언트 측으로 전송되는 데이터 느낌; 콘솔에 나타납니다.
해결법
-
==============================
1.당신의 구문이 조금 떨어져, 그것은해야
당신의 구문이 조금 떨어져, 그것은해야
CollectionName.find({}, {fields: {'onlyThisField':1}});
또는
CollectionName.find({}, {fields: {'everythingButThisField':0}});
템플릿은 참으로 표시되는 데이터를 제어 않지만, 많은 시나리오는 여전히 어디에 필드 제한 일리 - 일반적인 두 사람은 데이터 나 효율 (모든 레코드의 일부 필드의 '현재'기록의 모든 분야)의 개인 정보 보호
당신이 그것을 언급 didnt는, 그러나 이것은 일반적으로 게시 함수 내에서입니다 - http://docs.meteor.com/#meteor_publish 참조 - 또한 클라이언트로 볼 수 있습니다 수정 필드가 있지만, 한계 데이터는 클라이언트가 아래로 전송되지 않습니다 단지 템플릿 - 서버 측 필드 감소 / 선택은 서로 다른 장점이 있습니다
--
당신이 그 활성이 있고 가장 일반적으로 필드를 사용하는 것이 어디에있는 기능을 직접 게시하여 작성하는 경우 당신이 너무 autopublish 패키지를 삭제 한 것을 다시 확인하지만 경고가 표시한다
-
==============================
2.당신이 Collection.find ()에서 일부 필드를 제어하려는 경우 첫째, 당신은이 방법을 시도 할 수 있습니다 :
당신이 Collection.find ()에서 일부 필드를 제어하려는 경우 첫째, 당신은이 방법을 시도 할 수 있습니다 :
CollectionName.find({}, {fields: {field:1}});
하지만 그것은 단지 서버에서 작업을했다.
또는이 시도 :
서버에서 :
Meteor.publish("myCollection", function () { return SvseTree.find({},{fields: {field:1}}); });
클라이언트의 경우 :
Meteor.subscribe("myCollection");
다음 유성 제거 autopublish를 실행합니다.
당신이 Collection.find (의 배열을 얻으려면 두 번째)을 수행하려고 : Collection.find () (인출).;
from https://stackoverflow.com/questions/15961456/meteor-collection-find-always-returns-all-fields by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 몽고 ObjectId가 직렬화 할 때 JSON.NET 오류 캐스팅 (0) | 2019.12.11 |
---|---|
[MONGODB] 몽고는 ID의 목록을 찾을 수 있습니다 (0) | 2019.12.11 |
[MONGODB] 단일 쿼리에 몽고에서 여러 문서를 제거 (0) | 2019.12.11 |
[MONGODB] MongoDB를 '$ geoNear 쿼리에 대한 인덱스를 찾을 수 없습니다' (0) | 2019.12.11 |
[MONGODB] JSON 문자열에서 생성 BSON 객체 (0) | 2019.12.11 |