当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《Mongo数据库,SELECT*WHEREid=3ANDid=4》经验,为你挑选了1个好方法。

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

    Map map= new HashMap();
    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"));
    }

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

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



1> T.J. Crowder..:

我想你想要$in运营商,比如:

Map map= new HashMap();
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"));
}

...假设值是Integers.我认为支持数组和BasicDBList实例.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有