sql >> Databasteknik >  >> NoSQL >> MongoDB

Ta bort objekt från en mängd dokument i Spring+Mongo

Du måste använda $pull uppdateringsoperator som tar frågan för att matcha och ta bort alla matchande rader i inbäddad array.

Något som

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;
}

Referens

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




  1. Bästa sättet att lagra tid på dygnet i Mongoose

  2. Hur implementerar man redis pubsub timeout-funktion?

  3. Cascade style delete i Mongoose

  4. Undantag för socket timeout i Mongo