如何使用java显示mongoDB阵列
我想从mongoDB获取数组元素并显示它,这是我的示例代码如何使用java显示mongoDB阵列,java,mongodb,Java,Mongodb,我想从mongoDB获取数组元素并显示它,这是我的示例代码 String[] previliges = new String[20]; String g_name = (String)jComboBox2.getSelectedItem(); DBCursor f; BasicDBObject query = new BasicDBObject("group_name", g_name); connection.MongoConnection con = new MongoConnection
String[] previliges = new String[20];
String g_name = (String)jComboBox2.getSelectedItem();
DBCursor f;
BasicDBObject query = new BasicDBObject("group_name", g_name);
connection.MongoConnection con = new MongoConnection();
con.createConnection();
con.selectDB("test", "user_group");
f = con.coll.find(query);
previliges = (String[])f.next().get("privileges");
System.out.println(previliges.length);
这给了我一个例外->com.mongodb.BasicDBList不能转换为[Ljava.lang.String
mongodb集合中的我的示例文档:
{
"_id" : ObjectId("51c7ebd9e4b096449a530024"),
"group_name" : "assss",
"privileges" : [
"View Log History",
"Communication"
]
}
特权数组将作为基本列表返回,而不是字符串数组。因此不能将其强制转换为字符串[] 而不是做:
previliges=(String[]) f.next().get("privileges");
System.out.println(previliges.length);
尝试:
您可以像遍历任何列表一样遍历该列表:
for (Object privilege : privileges) {
String privilegeAsString = (String) privilege;
}
看见
for (Object privilege : privileges) {
String privilegeAsString = (String) privilege;
}