java通过Jetty访问MongoDB的最快方式
我有一个通过AngularJS运行的web应用程序,我的服务器端通过jetty运行,我的数据库是MongoDB。目前,我让我的webapp访问数据库的方式是通过WebSocket,但我觉得这可能不是最好/最快的方式,因为我发现处理数据需要花费大量时间。所以我想知道通过javascript、jetty和mongodb访问数据的最佳方式是什么。谢谢 浏览器代码:
getDataWebsocket.onmessage= function(event){
var data = "[{" +
event.data.substring(0, event.data.length-1) +
"]";
$scope.data = JSON.parse(data);
console.log(JSON.parse(data));
console.log($scope.data);
};
码头代码
try {
MongoClient mongoClient = new MongoClient("localhost", 27017);
DB db = mongoClient.getDB("MyDB");
DBCollection collection = db.getCollection("MyCollection");
DBCursor cursor = collection.find();
String data = "";
while (cursor.hasNext()){
DBObject next = cursor.next();
data += (JSON.serialize(next)).toString() + ",";
}
data = data.substring(0, data.length());
sendMessage(data, session);
}catch(Exception e){
sendMessage(e.getClass().getName() + ": " + e.getMessage(), session);
System.err.println(e.getClass().getName() + ": " + e.getMessage());
}
# 1 楼答案
要完成您正在做的事情,最好的方法是编写一个REST服务,调用java类来访问MongoDB。看看一个使用AngularJS、Jetty、MongoDB的简单应用程序https://github.com/pmkent/angular-bootstrap-java-rest