从Spring mongo Query获取“ _id”,而不是整个对象/对象列表

时间:2019-09-30 16:27:44

标签: java spring mongodb

我有一个mongodb,其中存储有以下键的集合: parentId,childId及其自己的ID(“ _id”)。

当我使用Spring Query查询数据库时,我只想获取“ _id”值,而不想获取满足查询条件的全部数据。

pipeline {
  stages {
    stage("Checkout") {
      steps {
        git([url: 'xxxxxxxxxx.git', branch: "master"])
        sh 'cd xxxxxxxxx.git'
        sh 'git log --format=\'%aN <%aE>\' | awk \'{arr[$0]++} END{for (i in arr){print arr[i], i;}}\' | sort -rn | cut -f2- | head -1 >author.txt'
        sh 'cat author.txt'
      }
    }
  }
}

上面的代码给出了满足查询条件的对象列表。然后,我遍历那些对象并获得ID,但是我只希望通过查询本身从这些对象中获得“ _id”值。

1 个答案:

答案 0 :(得分:1)

要指定_id字段,您可以使用:query.fields().include("_id");

Query query = new Query(Criteria.where("parentId").is(id1).and("childId").is(id2));
query.fields().include("_id");
List<String> currentId = mongoTemplate.find(query, MyClass.class).stream().map(MyClass::getId).collect(Collectors.toList());