sql >> Database teknologi >  >> NoSQL >> MongoDB

Fjern element fra array i mongodb

Hvis jeg forstår dig rigtigt, vil du fjerne det første og sidste element i arrayet, hvis størrelsen af ​​arrayet er større end 3. Du kan gøre dette ved at bruge findAndModify-forespørgslen. I mongo shell ville du bruge denne kommando:

db.collection.findAndModify({
    query: { $where: "this.time.length > 3" },
    update: { $pop: {time: 1}, $pop: {time: -1} },
    new: true
});

Dette ville finde dokumentet i din samling, som matcher $where-sætningen. $where-feltet giver dig mulighed for at angive en hvilken som helst gyldig javascript-metode. Bemærk venligst, at den kun anvender opdateringen på det første matchede dokument.

Du vil måske også se på følgende dokumenter:

  1. http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-JavascriptExpressionsand%7B%7B%24where%7D%7D for mere om $where-klausulen.
  2. http://www.mongodb.org/display/DOCS /Updating#Updating-%24pop mere om $pop.
  3. http://www.mongodb.org/display/DOCS/findAndModify+ Kommando for mere om findAndModify.


  1. spring data - Mongodb - findBy Method for indlejrede objekter

  2. $først i mongodb

  3. Future of Hadoop – Løn og jobforudsigelser i Big Data-analyse

  4. Duplikatnøglefejl med mongodb 2dsphere unikt indeks