Om jag förstår dig rätt vill du ta bort de första och sista elementen i arrayen om storleken på arrayen är större än 3. Du kan göra detta genom att använda sökfrågan findAndModify. I mongo shell skulle du använda detta kommando:
db.collection.findAndModify({
query: { $where: "this.time.length > 3" },
update: { $pop: {time: 1}, $pop: {time: -1} },
new: true
});
Detta skulle hitta dokumentet i din samling som matchar $where-satsen. Med $where-fältet kan du ange valfri giltig javascript-metod. Observera att uppdateringen endast tillämpas på det första matchade dokumentet.
Du kanske också vill titta på följande dokument:
- http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-JavascriptExpressionsand%7B%7B%24where%7D%7D för mer om $where-satsen.
- http://www.mongodb.org/display/DOCS /Updating#Updating-%24pop tidigare om $pop.
- http://www.mongodb.org/display/DOCS/findAndModify+ Kommando för mer om findAndModify.