1

spring-data mongo@Queryアノテーションを使用して以下のクエリを表す方法はありますか?

db.users.find({userName: "titogeo"}, {requests: 1, _id:0})

上記のコンソールでのクエリ出力は

リクエスト":[{"who ":" blahblahblah1"、
" whom ":" blahblahblah2 "、
" what ":" REQUEST "、
" when ":ISODate(" 2012-09-05T17:52:14.339Z ")}] }

次のことを試しましたが、うまくいきませんでした。

@Query("{userName: ?0}, {requests:1, _id:0}")
public Page<AddRequest> getAllFriendRequests(String userName, Pageable pageable);

コレクションusersにはUserオブジェクトがあり、requestsはAddRequestオブジェクトを含むリストです。

上記のメソッドを実行すると、空白のリストが表示されます。どんな助けでも大歓迎です。

また、spring-data-mongo apisの優れたリファレンスサイトや本はありますか?

4

1 に答える 1

9

filterプロパティを使用して、返されるプロパティのセット(リクエストのみ)を制限しているため、次の構文でpropertyキーワードを使用する必要があります。

@Query(value = "{ 'userName' : ?0 }", fields = "{ 'requests': 1, '_id': 0 }")
public Page<AddRequest> getAllFriendRequests(String userName, Pageable pageable);

ここにspring-datamongodbの役立つサイトがあります:http ://static.springsource.org/spring-data/data-document/docs/current/reference/html/

于 2012-09-05T20:49:36.253 に答える