mongoTemplate查詢指定字段

    /**
     * @param id     id
     * @param fields 要查詢的字段
     * @return
     */
    public InfoSupplementEntity findTest(String id, List<String> fields) {
        Query query = new Query(Criteria.where("id").is(id));
        Field findFields = query.fields();

        if (!CollectionUtils.isEmpty(fields)) {
            fields.forEach(findFields::include);
        }
        return mongoTemplate.findOne(query, InfoSupplementEntity.class);

    }

在網上找了一堆,都是用QueryBuilder,BasicDBObject,自己使用報錯,提示沒有該構造方法,版本spring-data-mongodb:2.1.3.RELEASE。

去源碼找了一下,發現Field這個類,通過findFields.include()方法設置查詢字段,測試正常。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章