我是mongodb的新手,目前,我面临一个关于从mongodb集合随机获取数据的问题。有时数据会被获取,有时则不是。下面是我的获取代码片段。
public JsonArray fetchDataKeyMatch(String rowKey, MongoQuery query) {
try {
JsonArray responseArray = new JsonArray();
MongoCollection<Document> collection = getCollection(query.getCollectionName());
DelayAnalyzer log = new DelayAnalyzer();
query.searchQueryObject.append("_id", rowKey);
Document doc = collection.find(query.searchQueryObject).first();
if(doc == null) {
logger.warn("No Object found on " +rowKey );
}else {
logger.warn("Object found is : "+doc);
responseArray.add(new JsonParser().parse(doc.toJson()));
}
return responseArray;
} catch (Exception e) {
logger.error(e , " : Exception : fetchRowKey : "+rowKey +" : filter : "+struct.getSearchQueryObject());
return new JsonArray();
}
}
我从上面的函数得到一个正确的响应,但有时我得到一个空值。mongo中没有日志,与此相关的日志文件甚至没有连接错误/丢失日志。我正在使用以下maven依赖项:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.12.7</version>
</dependency>
暂无答案!
目前还没有任何答案,快来回答吧!