我有一个网络应用程序,我正在通过AngularJS运行,我的服务器端通过jetty运行,我的数据库是MongoDB。现在,我的webapp访问数据库的方式是通过websockets,但我觉得这可能不是最好/最快的方法,因为我发现它需要很长的时间来处理数据。所以我想知道访问我的数据的最佳方式是通过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());
}
答案 0 :(得分:0)
完成您正在做的事情的最好方法是编写一个REST服务,该服务调用一个Java类来访问MongoDB。在https://github.com/pmkent/angular-bootstrap-java-rest
处使用AngularJS,Jetty,MongoDB看一个简单的应用程序