gpt4 book ai didi

java - 使用 MapReduce 从多个 MongoDB 集合中搜索 - Java

转载 作者:太空宇宙 更新时间:2023-11-04 15:05:12 26 4
gpt4 key购买 nike

我正在构建一个简单的 Web 应用程序,用于按姓名搜索人员。我有一些集合,其中包含有关用户的不同信息。该应用程序应该提取有关我正在搜索的用户的所有信息。如何在多个集合中搜索该名称?我是第一个使用 MapReduce 的人,如果您帮助我创建这个 MapReduce 函数或任何其他方法,我将不胜感激。

抱歉我的英语不好......

搜索输入在index.html中

<input id="input" type="text" name="fname"> 
<input type="submit">

然后,我在 Results.java servlet 中获取参数并将结果重定向到其他 jsp 页面

String by_fname = request.getParameter("fname");

MongoClient mongoClient = new MongoClient("localhost", 27017);
DB db = mongoClient.getDB("hospital");
DBCollection coll = db.getCollection("patients");

BasicDBObject query = new BasicDBObject("fname", by_fname);
DBCursor cursor = coll.find(query);

ArrayList<Users> userList = new ArrayList<Users>();

while (cursor.hasNext()) {
DBObject event = cursor.next();
fname = String.valueOf(event.get("fname"));
lname = String.valueOf(event.get("lname"));

Users user = new Users();
user.setFname(fname);
user.setLname(lname);

userList.add(user);
}

request.setAttribute("userList", userList);
request.getServletContext().getRequestDispatcher("/s_results.jsp").forward(request,response);

最佳答案

如果不实际启动多个搜索(例如在线程池中),然后在客户端代码中聚合结果,则无法同时搜索多个集合。 MongoDB 的所有搜索、更新和聚合选项都是如此。它们都在一个集合上运行。

您可能需要考虑将数据存储在单个集合中,以允许执行单个搜索,而不是引入组合多个搜索的多个搜索的复杂性。

关于java - 使用 MapReduce 从多个 MongoDB 集合中搜索 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22100481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com