MongoDB Java драйвер агрегатная строка - PullRequest
0 голосов
/ 26 апреля 2018

Я получаю строку со структурой JSONArray [ { "abc" : "123" }, { "def" : "456" } ], которую мне нужно использовать для вызова mongoCollection.aggregate(theString);

Агрегатная функция занимает List<? extends Bson>, и я не уверен, каков наилучший способ преобразования строки в List<? extends Bson>.

Для метода find (), который принимает Bson var1 Я просто конвертирую строку в документ, используя Document.parse(theString);

Я использую mongodb 3.4.

1 Ответ

0 голосов
/ 26 апреля 2018

Мне удалось придумать это, но выглядит немного уродливо.

        JSONArray array = new JSONArray(theString);
        List<Document> list = new ArrayList<>();
        for(Object jsonObject : jsonArray){
            Document document = Document.parse(jsonObject.toString());
            list.add(document);
        }
        collection.aggregate(list);
...