$ limit используется для ограничения количества пропущенных элементов на следующем этапе в конвейере агрегации. скажем, ваша $ match stage выбрала записи на { status : 'active' }
, и это произвело 1 миллион записей, и вам нужно только 10 лучших записей, переданных на следующий этап, или чтобы вернуть эти 10 записей клиенту, тогда вы добавите этап { $limit : 10 }
.
но в вашем случае, поскольку вы сопоставляете по objectId, вам не нужен этап $ limit, потому что objectIds уникальны, и когда-либо будет только одна запись с этим Id. так что вы можете удалить его.
также вы не можете использовать интерфейс find
для поиска, потому что он не позволяет вам выполнять соединения / поиски с другой коллекцией. Интерфейс find предназначен для непосредственного извлечения записей из одной коллекции. поэтому вам нужно использовать структуру агрегирования для сценария ios, такого как поиск.