2015-04-28 2 views
1

Итак, у меня есть супер простой запрос:Meteor/Монго Возвращает коллекцию элементов перед текущим

return Quotes.findOne({}, {sort: {createdOn: -1}}); 

Который возвращает последнюю цитату.

Я хотел бы добавить предыдущую кнопку, и для этого мне понравилось бы элегантное предложение о том, как изменить запрос, чтобы вернуться до последнего. Что-то вроде:

return Quotes.findOne({}, {sort: {createdOn: -1}}, { additionalQuery: secondLast }); 

Любые предложения?

+1

Вы можете использовать опцию 'skip' с методом [**' findOne() '**] (http://docs.meteor.com/#/full/findone), что-то вроде' return Quotes.findOne ({}, {sort: {createdOn: -1}, skip: 1}); ', чтобы получить вторую последнюю цитату. – chridam

ответ

2

Я не думаю, что есть очень элегантный способ сделать это, вам придется найти больше документов и взять второе, чтобы вывести из этой коллекции, например, получив два документа и пропустив первый

return Quotes.find({}, {sort: {createdOn: -1}}).limit(2).skip(1); 

Кажется, findOne поддерживает пропуски документов в начале, что также, вероятно, так же хорошо.

+0

Skip - это оператор, которого я искал. Элегантно. – ilrein

Смежные вопросы