我正在编写RESTful Web服务,在其中我想使用Mongo Connector在Mongo中执行查询后返回XML。
我已经搜索了很多,但没有在线找到任何好的教程。需要帮助XD
public class MongoConnector {
private MongoClient mongoClient;
public MongoConnector(){
//TODO: Parameterizar connection string
mongoClient = new MongoClient(new MongoClientURI("mongodb://localhost:27017"));
}
public String getData(String databaseName, String collectionName, String field, String value){
MongoDatabase database = mongoClient.getDatabase(databaseName);//"restaurantsDB"
MongoCollection<Document> collection = database.getCollection(collectionName);//"restaurants"
Bson filter = eq(field, value);//borough, bronx
return StreamSupport.stream(collection.find(filter).limit(10).spliterator(), false)
.map(Document::toJson)
.collect(Collectors.joining(", ", "[", "]")).toString();
}
public String aggregateDataByQueryString(String databaseName, String collectionName, String query){
MongoDatabase database = mongoClient.getDatabase(databaseName);//"restaurantsDB"
MongoCollection<Document> collection = database.getCollection(collectionName);//"restaurants"
BasicDBObject q = BasicDBObject.parse(query);
//Mapear o resultado para um array em JSON
return StreamSupport.stream(collection.aggregate(Arrays.asList(q)).spliterator(), false)
.map(Document::toJson)
.collect(Collectors.joining(", ", "[", "]")).toString();
}
}
答案 0 :(得分:0)
我检查了一下MongoDB文档,并在互联网上稍作戳了一下,但是我找不到在API本身中定义的可以执行任务的任何内容。话虽如此,这里仍然有一些选项可以为您服务:
org.bson.Document
实现了java.util.Map
,因此您可以将How to convert XML to java.util.Map and vice versa视为潜在的解决方案。我对MongoDB不太熟悉,但是我相信这些解决方案将起作用,因为Document
对象是“文档表示为Map的表示形式”,并且可以干净地converted to a JSON字符串