我在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;
}
提前致谢
答案 0 :(得分:0)
您只有一个resultSet
变量,您可以使用每个结果的字符串表示法一次又一次地替换它,然后返回最后一个迭代的值。如果要返回多个结果,则需要返回一个数组(String[]
)或Collection
,例如ArrayList
。
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;
}