Как посчитать уникальный _id с полем ObjectId в mongodb, используя драйвер Java 3.4+? - PullRequest
0 голосов
/ 05 сентября 2018

Мне нужно считать документы уникальными _id с полем ObjectId. Мои документы похожи на: enter image description here

Итак, мне нужно посчитать эти документы по уникальному _id, а затем заменить всех, используя метод replaceOne (не касаясь _id документа, поскольку поле _id является неизменным ) для других документов.

Я знаю, что могу реализовать это несколькими способами:

1) Использование итератора FindIterable для получения количества документов:

FindIterable findIterable = collection.find(Filters.eq("_id" (this is field), ... (but how I need to write value here if each document has unique _id?) ));
        Iterator iterator = findIterable.iterator();
        int count = 0;
        while (iterator.hasNext()) {
            iterator.next();
            count++;
        }

2) или просто создайте переменную как long count = collection.count(Document.parse("_id : (this is field) " + ...(but how I need to write value here if each document has unique _id?)));

Поправьте меня, пожалуйста, или посоветуйте, как правильно рассчитать эти документы по уникальному _id для замены? Я ценю любую помощь.

1 Ответ

0 голосов
/ 08 сентября 2018

Как упомянуто @mtj,

Идентификаторы уникальны по дизайну, поэтому число уникальных идентификаторов равно количество документов в сборнике. Или другими словами: используйте collection.count()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...