Se ti capisco correttamente, vuoi rimuovere il primo e l'ultimo elemento dell'array se la dimensione dell'array è maggiore di 3. Puoi farlo usando la query findAndModify. In mongo shell useresti questo comando:
db.collection.findAndModify({
query: { $where: "this.time.length > 3" },
update: { $pop: {time: 1}, $pop: {time: -1} },
new: true
});
Questo troverebbe il documento nella tua raccolta che corrisponde alla clausola $where. Il campo $where ti consente di specificare qualsiasi metodo javascript valido. Tieni presente che applica l'aggiornamento solo al primo documento abbinato.
Potresti voler guardare anche i seguenti documenti:
- http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-JavascriptExpressionsand%7B%7B%24where%7D%7D per ulteriori informazioni sulla clausola $where.
- http://www.mongodb.org/display/DOCS /Aggiornamento#Aggiornamento-%24pop per ulteriori informazioni su $pop.
- http://www.mongodb.org/display/DOCS/findAndModify+ Comando per ulteriori informazioni trova e modifica.