MongoDB - 在 Java 7 中重写 Java 8 方法?

MongoDB - ReWriting Java 8 method in Java 7?

我使用以下 Java 方法搜索 MongoDB 特定条目:

  public List<Document> search(String collection, String entry){
        List<Document> documentList = new ArrayList<>();

        createIndexforCollection(collection);
        getCollection(collection).find(Filters.text(entry)).forEach((Block<? super Document>) documentList::add);

        return documentList;
    }

以上使用了 Java 8 特征,例如documentList::add ,但是在我正在处理的项目中我只能使用 Java 7.

如何重写上面的具有相同逻辑的using Java 7

使用下面的代码。

List<Document> documentList = new ArrayList<>();
MongoCursor<Document> cursor = getCollection(collection).find(Filters.text(entry)).iterator();
while(cursor.hasNext()) {
  Document document = cursor.next();
  documentList.add(document;  
}

试试这个。

 try(final DBCursor dbCursor = mongoTemplate.getCollection("YourCollectionName").find(Filters.text(entry))) {      
            while (dbCursor.hasNext()) {
              Document document = dbCursor.next(); // You need to cast to the type you need
              documentList.add(document);
            }
   }