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

Entfernen Sie Elemente aus einer Reihe von Dokumenten in Spring+Mongo

Sie müssen $pull verwenden Update-Operator, der die Abfrage übernimmt, um alle übereinstimmenden Zeilen im eingebetteten Array abzugleichen und zu löschen.

Etwas wie

public List<String> removeTripObject( List<String> tripIds ) {
    Query query = Query.query( Criteria.where( "tripGcsId" ).in( tripIds ) );
    Update update = new Update().pull("trips", query );
    getMongoTemplate().updateMulti( new Query(), update, "ORDER" );
    return updatedOrders;
}

Referenz

https://docs.mongodb.com/manual/reference/operator/update/pull/#remove-items-from-an-array-of-documents