Spring Data MongoDB –返すフィールドを選択
MongoDBコンソールでは、field:1
を使用して、クエリから返すフィールドを選択できます。
> db.hosting.find({},{domain:1, count:1});
MongoDBのSpringDataでは、query.fields().include
を使用します。
HostingDaoImpl.java
package com.example.core.hosting.dao; import java.util.List; import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; import org.springframework.stereotype.Repository; import com.hostingcompass.core.db.dao.MongoDaoImpl; @Repository public class HostingDaoImpl extends MongoDaoImplimplements HostingDao { @Override public List findTopHosting(int numOfRecord) { Query query = new Query(); if (numOfRecord > 0) query.limit(numOfRecord); query.with(new Sort(Sort.Direction.DESC, "count")); query.fields().include("_id"); query.fields().include("domain"); query.fields().include("count"); return findAll(query, Hosting.class); } }