저는 평안한 웹 API를 작성하려고하는데, 커뮤니티라는 콜렉션이 있는데, 10 개의 필드가 있습니다. 그러나 GetCommunityAPI 호출에서 필자는 모바일 장치에 필요한 정보 만 전달하려고합니다.MongoID가 포함 된 MongoDB Find Query에서 소수의 필드를 가져옵니다.
나는이 blog example 언급 한,이
$db->users->find({}, {username => 1});
내가
@[email protected]({},{:username=>1})
나의 Mongoid 검색을 작성한 다음 MongoDB의 쿼리를 제안했다 그러나 이것은 나에게 그것이라고 오류가 있습니다 ID가 {} 인 유효한 문서를 찾을 수 없습니다.
나는 또한 시도했습니다.
@[email protected]({:username=>1})
그러나 username 만 반환하는 대신 다른 필드를 null로 만드는 모든 것을 반환합니다.
{"_id":"534186e5414fc34bc5000002","ad":null,"ae":null,"cat":null...and so on}
제 질문은 API 호출을 가장 효율적으로 만드는 것입니다. 모바일 데이터에 대한 최소한의 양을 소모하는 것은 가능 내 모든 API의 전송에만 유효 정보를 만드는 것이 다음과 같은 형식
{"_id":"534186e5414fc34bc5000002"}
이러한 접근 방식에 MongoDB를에서 데이터를 가져 보내고, 모바일 네트워크는 친절입니다. 하나의 API 호출에서 약 1000 개의 객체를 기대합니다.
또한이 출력물을이 형식으로 가져올 수 있습니까?
[{"_id":"534186e5414fc34bc5000002","un":"Name"},{"_id":"534186e5414fc34bc5000003","un":"Dummy"}]
체크 아웃 http://stackoverflow.com/questions/7911014/activerecord-find-and-only-return-selected-columns/12844304#12844304 –