2016-04-13 10 views
0

ile kaldır. Çeşitli ölçütlerin birleşimiyle mongoTemplate sorgum var. Bu sorguda belgeleri bir dizi koleksiyondan seçmem gerekiyor. Ben de "in" metodunu kullanıyorum.MongoTemplate sorgusundan alıntıları

Query query = new Query(Criteria.where("sizeId").is(sizeId)); 

query.addCriteria(Criteria.where("companyId").in(companyIds)); 

List<StatisticUnit> result = mongoTemplate.find(query, StatisticUnit.class); 

"companyIds" tamsayı değerler listesi geçerli:

İşte benim kodudur.

Sonuç yok MongoTemplate, qoutes içinde operatör argümanlarında $ harcadığı için Mongo'nun bunları Strings olarak görmesini sağladı. Gerçek sorgu şuna benzer:

$in: ["5", "15"] 

yerine toplama değerlerinin bir tür göz ardı etmek değildir ve Tamsayı durumunda tırnak koymayı değil mongoTemplate anlatmak için nasıl

$in: [5, 15] 

ait? Teşekkürler!

+0

companyIds türü ne tür?, Koleksiyon Koitoer

+0

@Document ek açıklamalı sınıfınızda "companyId" türü nedir? Hangisi StatisticUnit olabilir. Tamsayı olmalıdır – Ulises

+0

companyIds bir ArrayList , companyId in StatisticUnit sınıfı bir tamsayı türü vardır. –

cevap

0

Bu sorunu kendim çözdüm. ArrayList yerine HashSet kullandığımda her şey yolunda gider. Umarım bu bir başkasına yardım eder.

İlgili konular