小编Par*_*ade的帖子

为什么我不能在Servlet中初始化Mongo

我正在制作java web项目,并尝试使用mongodb.但我发现了一个问题,

Mongo mongo = new Mongo("localhost", 27017)
Run Code Online (Sandbox Code Playgroud)

当我在main方法中使用它时,它没问题.但是当我在Servlet init()或doGet中使用它时,doPost会抛出异常,它就像:

    Allocate exception for servlet RegServlet
java.lang.ClassNotFoundException: com.mongodb.MongoException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
    at java.lang.Class.getConstructor0(Class.java:2699)
    at java.lang.Class.newInstance0(Class.java:326)
    at java.lang.Class.newInstance(Class.java:308)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1116)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:662)
2011-5-19 20:44:39 org.apache.catalina.startup.HostConfig checkResources
Run Code Online (Sandbox Code Playgroud)

java servlets mongodb mongo-java

1
推荐指数
1
解决办法
3066
查看次数

Mongodb java Query Builder

我是java的新手.如何在java中构建这个mongo查询.任何帮助/提示将不胜感激.

db.places.find({loc : { $near :[ -122.934326171875,37.795268017578] , $maxDistance : 50 } ,$or:[{"uid":"at"},{"myList.$id" :ObjectId("4fdeaeeede2d298262bb80") } ] ,"searchTag" : { $regex : "Union", $options: "i"} } );
Run Code Online (Sandbox Code Playgroud)

java query-builder mongodb mongo-java

1
推荐指数
1
解决办法
7865
查看次数

0
推荐指数
1
解决办法
245
查看次数

Mongo数据库,SELECT*WHERE id = 3 AND id = 4

我有一个MongoDB,我希望获得两条记录或更多记录并将其放入地图中.如果我只有一个代码,则下面的代码可以正常query.put(ïd", "7");工作,但如果我在下面的代码中添加两个或更多代码,则代码不起作用.

    Map<Object,Object> map= new HashMap<Object,Object>();
    DBCollection collection = database.getCollection("Members");
    BasicDBObject query = new BasicDBObject();
    query.put("id", "7");
    query.put("id", "3");
    DBCursor cursor = collection.find(query);
    DBObject one;
    while(cursor.hasNext()) {
        one = cursor.next();
        map.put(one.get("id"),one.get("name"));
    }
Run Code Online (Sandbox Code Playgroud)

如何在地图上获得两条或更多条记录?对于SQL,等价物将是SELCT * FROM Member WHERE id = 7 AND id = 3

更完美的是,如果我可以将列表作为查询,不确定这是否可行.

java mongodb mongo-java

0
推荐指数
1
解决办法
1948
查看次数