sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man söker efter en post och sedan tar bort den

Du måste använda MongoDB 'dot notation' för det inbäddade elementet, vilket betyder att "nyckeln" måste vara en strängtyp av notation. Använd även $exists för att matcha var nyckeln i hasen finns och .unset() metod från mongoid:

User.where('_id'=> userId, 'ttokens.919839398393'=> { '$exists' => true }).unset(
  'ttokens.919839398393'
)

Detta är faktiskt $unset operatör för MongoDB, som tar bort "nycklar" från dokumentet med den angivna sökvägen.

Från exempeldokumentet skulle detta matcha och ta bort den första nyckeln och bara lämna kvar den andra.




  1. redis och watch + multi tillåter samtidiga användare

  2. Frågar efter en lista över alla distinkta fält i MongoDB-samlingen

  3. Begränsa MongoDB RAM-användning

  4. mongodb:använd kapslade dokument eller separata samlingar med referenser