Spring Data MongoDBリポジトリに@Query
アノテーションを付けてcount
を使用するためのメカニズムはあるのでしょうか。すべての書類を入手しなくても、持っている書類をたくさん受け取りたいです。
基本的に、Javaでこれに相当するもの:
db.test.find({"type":"foo"}).count
私にとって、この解決策は魅力のように機能します(spring-data-mongodb 1.3.1.RELEASEを使用)、私は同じ問題のATMを持っていてこれを解決しました(私の作業中のコードからの短い抜粋):
@Query(value = "{'productDetails.productType': {$regex: ?0, $options: 'i'}, 'sourceDescriptor': ?1}", count = true)
public Long countFetchedDocumentsForCategory(String cat, String sourceDescriptor);
MongoRepositoryクエリテンプレートを使用してこれを行う別の方法:
public interface MyRepository extends MongoRepository<MyClass, String> {
Long countByLastname(String lastname);
}
私は最近同じ問題を抱えていましたが、残念ながら少なくとも現在の安定バージョンでは解決策が見つかりませんでした。 Spring Data JPA 1.4M1では 可能 と思われるため、Spring Data MongoDBの次のバージョンにも含まれる可能性があります。