Als ik je goed begrijp, wil je de eerste en laatste elementen van de array verwijderen als de grootte van de array groter is dan 3. Je kunt dit doen door de findAndModify-query te gebruiken. In mongo shell zou je dit commando gebruiken:
db.collection.findAndModify({
query: { $where: "this.time.length > 3" },
update: { $pop: {time: 1}, $pop: {time: -1} },
new: true
});
Dit zou het document in uw verzameling vinden dat overeenkomt met de $where-clausule. In het $where-veld kunt u elke geldige javascript-methode specificeren. Houd er rekening mee dat de update alleen wordt toegepast op het eerste overeenkomende document.
Misschien wilt u ook de volgende documenten bekijken:
- http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-JavascriptExpressionsand%7B%7B%24where%7D%7D voor meer informatie over de $where-clausule.
- http://www.mongodb.org/display/DOCS /Updating#Updating-%24pop meer op $pop.
- http://www.mongodb.org/display/DOCS/findAndModify+ Commando voor meer zoekAndModify.