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:
- http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-JavascriptExpressionsand%7B%7B%24where%7D%7D for mere om $where-klausulen.
- http://www.mongodb.org/display/DOCS /Updating#Updating-%24pop mere om $pop.
- http://www.mongodb.org/display/DOCS/findAndModify+ Kommando for mere om findAndModify.