小编Mar*_*ens的帖子

MongoDB数据库,相当于SELECT column1,column2 FROM tbl

从我的MongoDB我想要等效的

  SELECT column1, column2
  FROM tbl
Run Code Online (Sandbox Code Playgroud)

使用此代码,我可以获得所有"行"以及所有"列"

  DBCollection collection = database.getCollection("names");
  DBCursor cursor = collection.find();
Run Code Online (Sandbox Code Playgroud)

例如,我想要所有 '行'但只有 '列':id,name,age

我该怎么做?

谢谢你的帮助!!

select rows mongodb

19
推荐指数
1
解决办法
2万
查看次数

Mongo数据库从Map保存数据

我有下面的代码有效:

if (aDBCursor.hasNext()) {
    DBObject aDbObject = aDBCursor.next();
    aDbObject.put("title", "Test Title");
    ArrayList<DBObject> department = new ArrayList<DBObject>();

    DBObject nested1 = new BasicDBObject();
    nested1.put("name", "Department A");
    nested1.put("id", 1);
    department.add(nested1);

    DBObject nested2 = new BasicDBObject();
    nested2.put("name", "Department B");
    nested2.put("id", 2);
    department.add(nested2);

    aDbObject.put("department", department);
    collection.save(aDbObject);
}
Run Code Online (Sandbox Code Playgroud)

但是我在地图中有A部和B部的数据,如:

Map<Object,Object> map = new HashMap<Object,Object>();
map.put("1", "Department A");
map.put("2", "Department B");
Run Code Online (Sandbox Code Playgroud)

保存这些数据的最佳/最简单方法是什么?有没有办法将地图直接放入mongo DB?或者我是否必须在地图上循环?

进入地图的数据已经从数据库中获取,如下所示:

String[] values = req.getParameterValues("departments");
Map<Object,Object> map = new HashMap<Object,Object>();

DBCollection collection = database.getCollection("Departments");
BasicDBObject query = new BasicDBObject();
query.put("id", new BasicDBObject("$in", values));
DBCursor …
Run Code Online (Sandbox Code Playgroud)

java map mongodb mongo-java

5
推荐指数
1
解决办法
2万
查看次数

从JSON获取数据

我试图从这个JSON字符串中获取值,但我很难实现这一点.

{"DebugLogId":"1750550","RequestId":"17505503","Result":
{"Code":"","DebugLogId":"1750550","Message":""},
    "Suggestions":[
        {"Ranking":"1","Score":"60","Title":"This is a test message 1"},
        {"Ranking":"2","Score":"60","Title":"This is a test message 2"}         
    ]}
Run Code Online (Sandbox Code Playgroud)

在"建议"中访问数据最简单的方法是什么?我正在使用GSON模块.理想情况下,我想把它全部放在HashMap中.

感谢您的帮助和/或建议!

谢谢你的帮助!

java json hashmap map gson

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

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
查看次数

标签 统计

java ×3

mongodb ×3

map ×2

mongo-java ×2

gson ×1

hashmap ×1

json ×1

rows ×1

select ×1