MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie filtert man Dokumente basierend auf einem eingebetteten Array?

Sie müssen $elemMatch(projection) verwenden . So etwas wie unten sollte funktionieren.

import static com.mongodb.client.model.Projections.elemMatch;

Bson filters = and(eq("userId", userId));
Bson projections = fields(elemMatch(ARRAY_FIELD_NAME, eq("id", id)), excludeId());