Ако ви разбирам правилно, искате да премахнете първия и последния елемент от масива, ако размерът на масива е по-голям от 3. Можете да направите това, като използвате заявката findAndModify. В mongo shell ще използвате тази команда:
db.collection.findAndModify({
query: { $where: "this.time.length > 3" },
update: { $pop: {time: 1}, $pop: {time: -1} },
new: true
});
Това ще намери документа във вашата колекция, който съответства на клаузата $where. Полето $where ви позволява да посочите всеки валиден javascript метод. Моля, имайте предвид, че тя прилага актуализацията само към първия съвпадащ документ.
Може да искате да разгледате и следните документи:
- http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-JavascriptExpressionsand%7B%7B%24where%7D%7D за повече информация относно клаузата $where.
- http://www.mongodb.org/display/DOCS /Updating#Updating-%24pop още за $pop.
- http://www.mongodb.org/display/DOCS/findAndModify+ Команда за повече относно findAndModify.