java中带有正则表达式的Mongo find()只返回一个条目

java中带有正则表达式的Mongo find()只返回一个条目,java,regex,mongodb,Java,Regex,Mongodb,我在mongo db中存储了几篇文章,我希望获得包含特定单词的所有文章,但是这段代码只能返回一篇文章 我该怎么办?这是我的代码: public String selectMongo(String term){ query = new BasicDBObject("content", java.util.regex.Pattern.compile(term)); cursor = coll.find(query); try{ while(curso

我在mongo db中存储了几篇文章,我希望获得包含特定单词的所有文章,但是这段代码只能返回一篇文章

我该怎么办?这是我的代码:

 public String selectMongo(String term){

    query = new BasicDBObject("content", java.util.regex.Pattern.compile(term));
    cursor = coll.find(query);

     try{
         while(cursor.hasNext())
         {
             BasicDBObject dbObject = (BasicDBObject)cursor.next();
             resultSet = dbObject.getString("content");
            //System.out.println(resultSet);
        }
     }finally{
         cursor.close();
     }

     return resultSet;
}

提前感谢

您只有一个
resultSet
变量,您可以用每个结果的字符串表示形式反复替换该变量,然后返回最后一个迭代的值。当您想要返回多个结果时,您需要返回一个数组(
String[]
)或一个
集合,例如

public List<String> selectMongo(String term){

    List<String> resultSet = new ArrayList<>();

    query = new BasicDBObject("content", java.util.regex.Pattern.compile(term));
    cursor = coll.find(query);

     try{
         while(cursor.hasNext())
         {
             BasicDBObject dbObject = (BasicDBObject)cursor.next();
             resultSet.add(dbObject.getString("content"));
        }
     }finally{
         cursor.close();
     }

     return resultSet;
}
public List selectMongo(字符串术语){
List resultSet=new ArrayList();
query=newBasicDBObject(“content”,java.util.regex.Pattern.compile(term));
cursor=coll.find(查询);
试一试{
while(cursor.hasNext())
{
BasicDBObject=(BasicDBObject)cursor.next();
add(dbObject.getString(“内容”);
}
}最后{
cursor.close();
}
返回结果集;
}