Один find
никогда не должен возвращать повторяющиеся результаты, так как в Mongo нет такой вещи, как объединение, поэтому нет обстоятельств, при которых один документ будет возвращен дважды при запросе.То, что вы описываете, звучит так, как будто это никогда не должно происходить, но трудно сказать без подробностей.
Однако, одна возможность состоит в том, что find
возвращает открытый курсор, так что, если, например, выперебирая большое количество документов и обновляя их по мере необходимости, вы можете получить тот же документ снова позже.Причина этого заключается в том, что ваше обновление может увеличить размер документа, чтобы он больше не помещался в имеющемся пространстве, поэтому его необходимо перераспределить в конце коллекции, где позднее он снова будет подхваченкурсор.Если это то, что вы делаете, вам, вероятно, следует подумать о том, чтобы сделать обновление по-другому.