通过Jetty访问MongoDB的最快方法

时间:2016-08-01 14:30:40

标签: java mongodb jetty

我有一个网络应用程序,我正在通过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());
            }

1 个答案:

答案 0 :(得分:0)

完成您正在做的事情的最好方法是编写一个REST服务,该服务调用一个Java类来访问MongoDB。在https://github.com/pmkent/angular-bootstrap-java-rest

处使用AngularJS,Jetty,MongoDB看一个简单的应用程序