0

我正在使用 JAVA 驱动程序并正在执行文档查找。返回的文档是 Document 类型。

从代码中我可以看到正确输出的字符串类型('name')。我还可以将小时数组视为字符串。

我要做的是从数组中获取一个特定元素,该元素将挑选出 hours[1][2] 的值为 8。

我试图直接在 Document 类型上执行此操作而不转换为 JSONObject。

这可能吗 ?

{
"名称": "Temp1", "小时": [ [ 0, 1, 2, 3, 4, 5 ], [ 6, 7, 8, 9, 10, 11 ],[ 12, 13, 14, 15 , 16, 17 ] ]
{

FindIterable<Document> iterable = collection.find(and(eq("day", day),eq("month", month),eq("year", year),eq("name", java.util.regex.Pattern.compile("Temp"))));         
iterable.forEach(new Block<Document>() {
    @Override
        public void apply(final Document document) {
            //System.out.println(document.toJson());
            System.out.println("Name: "+document.getString("name"));                    
            System.out.println("Hours[]: "+document.get("hours"));
        }
  }
4

1 回答 1

0

您必须将其转换为 DBList 对象,例如:

(BasicDBList) document.get("hours");

然后,您可以像普通列表一样遍历列表!

于 2016-01-14T08:00:20.957 回答