Se estou entendendo corretamente, você deseja remover o primeiro e o último elemento da matriz se o tamanho da matriz for maior que 3. Você pode fazer isso usando a consulta findAndModify. No shell do mongo, você usaria este comando:
db.collection.findAndModify({
query: { $where: "this.time.length > 3" },
update: { $pop: {time: 1}, $pop: {time: -1} },
new: true
});
Isso localizaria o documento em sua coleção que corresponda à cláusula $where. O campo $where permite que você especifique qualquer método javascript válido. Observe que ele aplica a atualização apenas ao primeiro documento correspondente.
Você pode querer olhar para os seguintes documentos também:
- http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-JavascriptExpressionsand%7B%7B%24where%7D%7D para saber mais sobre a cláusula $where.
- http://www.mongodb.org/display/DOCS /Updating#Updating-%24pop para mais informações sobre $pop.
- http://www.mongodb.org/display/DOCS/findAndModify+ Comando para mais informações findAndModify.