Mongo Java Driver를 사용 중이고 collection.find()
함수에서 필터를 사용하려고합니다. 예를 들어, 자바 객체 인 클래스가있는 클래스는 특정 필드를 포함합니다.Java 컬렉션의 Java 객체에서 변수에 액세스하는 방법은 무엇입니까?
Document document = (Document) collection.find(and(
eq("m_seniority", key.getM_seniority()),
eq("m_currency",key.getM_currency()),
eq("m_redCode",key.getM_redCode()),
eq("m_companyId",key.getM_companyId())
)).first();
위의 명령을 사용합니다. 나는 대량으로, 나는 키 모음 (Collection keys
를) 전달되는 오전 수행 할 때, 나는 다음과 같이 내부의 자바 객체의 특정 변수에 액세스 할 수 없습니다 게터가의없는
List<Document> docs = (List<Document>) collection.find(and(
eq("m_seniority", keys.getM_seniority()),
eq("m_currency",keys.getM_currency()),
eq("m_redCode",keys.getM_redCode()),
eq("m_companyId",keys.getM_companyId())
)).into(new ArrayList<Document>());
때문에 컬렉션,하지만 개체, 나는 getters 컬렉션에 사용할 수 없습니다. 어떻게해야합니까?
List<Bson> keyFilters = new ArrayList<>();
// for each key create an 'and' filter on seniority, currency, redcode and companyid
for (Key key : keys) {
keyFilters.add(
Filters.and(eq("m_seniority", key.getM_seniority()),
Filters.eq("m_currency",key.getM_currency()),
Filters.eq("m_redCode",key.getM_redCode()),
Filters.eq("m_companyId",key.getM_companyId())
)
);
}
List<Document> docs = (List<Document>) collection.find(
// 'or' all of the individual key filters
Filters.or(keyFilters)
).into(new ArrayList<Document>());
당신이 샘플 문서를 제공 할 수있다 : – glytching