java中带有正则表达式的Mongo find()只返回一个条目
我在mongo db中存储了几篇文章,我希望获得包含特定单词的所有文章,但是这段代码只能返回一篇文章 我该怎么办?这是我的代码: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
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();
}
返回结果集;
}