Mar*_*ens 0 java mongodb mongo-java
我有一个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
更完美的是,如果我可以将列表作为查询,不确定这是否可行.
我想你想要$in运营商,比如:
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"));
}
Run Code Online (Sandbox Code Playgroud)
...假设值是Integers.我认为支持数组和BasicDBList实例.
| 归档时间: |
|
| 查看次数: |
1948 次 |
| 最近记录: |