gpt4 book ai didi

java - Mongo 数据库,选择 * WHERE id = 3 AND id = 4

转载 作者:行者123 更新时间:2023-12-01 17:35:29 25 4
gpt4 key购买 nike

我有一个 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"));
}

如何在 map 中获得两条或更多记录?对于 SQL,等效项为 SELCT * FROM Member WHERE id = 7 AND id = 3

如果我可以提供一个列表作为查询,那就更完美了,不确定这是否可能。

最佳答案

我想你想要 $in operator ,类似:

Map<Object,Object> map= new HashMap<Object,Object>();
DBCollection collection = database.getCollection("Members");
BasicDBObject query = new BasicDBObject();
query.put("id", new BasicDBObject("$in", new Integer[] {3, 7}));
DBCursor cursor = collection.find(query);
DBObject one;
while(cursor.hasNext()) {
one = cursor.next();
map.put(one.get("id"),one.get("name"));
}

...假设值为Integer。我认为数组和 BasicDBList 实例都受支持。

关于java - Mongo 数据库,选择 * WHERE id = 3 AND id = 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6806544/

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