0
コメントがmongodbドキュメントコレクションの特定の入力キーワードと一致するユーザのリストを取得しようとしています。Springのmongodbリポジトリは、タイプリストのフィールドでクエリの0エントリを返します
私のユーザードキュメントdefintionが
public class User {
@Id
private String id;
private String name;
List<String> comments;
}
そして、私の春のリポジトリのコードのように見える私はモンゴからそれを照会すると
@RepositoryRestResource(collectionResourceRel = "user", path = "user")
public interface UserRepository extends
MongoRepository<User,String>,CustomUserRepository {
@Query(value = "{'comments': ?0} ")
List<User> findByComments(String username);
List<User> findByCommentsIn(List<String> comments);
List<User> findBycomments(String username);
のように見え、それが正常に動作シェル、 db.user.find({"comments": /test/})
が期待される結果を返します。
しかし、同じものがSpringのデータmongodbで動作しません。
また、mongoテンプレートを使用するためにカスタムリポジトリを使用してみました。 クエリのクエリ=新しいクエリ()もう少し研究した後
query.addCriteria(
Criteria.where("comments").in("/"+user+"/")
);
List<User> result = mongoTemplate.find(query, User.class);