来自keyValues的MongoDB Java Document.get()包含逗号分隔的整数

时间:2016-01-13 15:22:25

标签: java mongodb

想象一个名为doc的文档,看起来像这样:

   "_id" : ObjectId("56896bbf713dffe8799e0970"),
   "Section Name" : "BUS-110-01",
   "Title" : "Business & Entrep. Mindset",,
   "Building" : "CCM",
   "Room" : 442, 443,
   "Days" : "T, TH",
   "Start Time" : "12:30 PM",
   "End time" : "1:45 PM",

当我运行String myRoom = doc.getString("Room")时,我得到一个例外。我尝试doc.getInteger("Room")doc.getDouble("Room")并没有成功,不是我期望的那么多。

如果我创建ArrayList<String> Room并运行:

Room.add(doc.get("Room", String.class))我得到java.lang.ClassCastException: Cannot cast java.lang.Integer to java.lang.String

具有讽刺意味的是,如果我创建ArrayList<Integer> Room并运行:

Room.add(doc.get("Room", Integer.class))我得到java.lang.ClassCastException: Cannot cast java.lang.String to java.lang.Integer

好像“房间”有某种身份危机。

关于我可能遗失的任何提示?

1 个答案:

答案 0 :(得分:0)

应该一步到位。 ArrayList<Object> myListmyList.add(doc.get("Room", Object.class))解决了这个问题。