spring получить элемент basicDBObject, используя индекс элемента в размере()

У меня есть список строк в моем BasicDBObject

  "key_elements": [ "0125", "0120", "0655"]

и хотел бы получить строки, используя BasicDBOject.size()информацию. Я ожидал использовать приведенный ниже код, но он не компилируется:

keyElementsList = new ArrayList<String>();

BasicDBObject keySetDBO = (BasicDBObject)basicDBObject.get("key_elements");
for (int i = 0; i < keySetDBO.size(); ++i){
    keyElementsList.add((String)keySetDBO.getString(i));
}

но у меня есть ошибка компиляции keySetDBO.getString(i)! Я пробовал ТакжеkeySetDBO[i], но это также не работает! Есть идеи, как лучше всего реализовать keyElementList?

1 ответ

  1. Я нашел основную ошибку в вопросе выше: key_element

    «key_elements»: [ «0125», «0120», «0655»]

    невозможно привести к com.mongodb.BasicDBObject но кастабле к com.mongodb.BasicDBList, с этим последним классом, предоставленным get (i), где i-индекс в BasicDBList.размер.)( код выглядит следующим образом:

    List<String> keyElementList = new ArrayList<String>;
    
    BasicDBList bDBList = (BasicDBList)basicDBObject.get("key_elements");
    
    for(int i = 0; i < bDBList.size(); ++i){
        keyElementsList.add((String)bDBList.get(i));
    }
    

    при использовании BasicDBObject доступ к информации осуществляется с помощью метода Key get from keySet ().