2013-05-08 59 views
0

我节省了BasicDBObject在我的MongoDB集合商店使用的MongoDB和Java

BasicDBObject[] aBox = new BasicDBObject[5]; 
BasicDBObject obj = new BasicDBObject(); 
obj.append("box", aBox); 

在目前这样的数组是空数组,所以我刚才在【我的收藏

但是当我我试图让我的数组

DBObject[] aBox = (DBObject[]) obj.get("box"); 

我有这样的错误

java.lang.ClassCastException: com.mongodb.BasicDBList cannot be cast to [Lcom.mongodb.DBObject; 

你知道如何拥有我的阵列吗?

回答

1

BasicBDListList因此具有toArray方法。或者你可以保留它作为一个列表。像这样的东西应该工作:

List<BasicDBObject> list = (List<BasicDBObject>) obj.get("box"); 
BasicDBObject[] aBox = list.toArray(new BasicDBObject[list.size()]); 
+0

感谢您的帮助,就是我也可以直接节省 – Ajouve 2013-05-08 16:04:44

+0

@ant当然之前保存名单上有没有转换为数组。 – assylias 2013-05-08 16:05:27