2014-11-10 5 views
0

Я хочу получить данные на входе mongodb, ограничив количество строк. Но я нашел $limit Работа не работает в Чайнике.Ограничить количество строк на входе mongodb чайника

Существует аналогичный пост, который использует $maxScan для его решения (link). Но в моем запросе есть некоторые условия. Например:

{ "$query" : { "type" : " view " } , $orderby : { "time" : -1}, $limit : 100 } // not working 

Результаты с использованием $maxScan совершенно различны. $maxScan может возвращать только 10 строк.

Как я могу решить эту проблему? И почему операция $limit не поддерживается в чайнике? Я думаю, что это основная операция.

Большое спасибо!

ответ

0

Наконец-то! Я решаю эту проблему советом от @Keviswang. Мы должны использовать метод агрегирования, предоставляемый MongoDB, и вот ссылка: docs.mongodb.org/manual/applications/aggregation.

В моем случае я использую этот запрос в MongoDB Input of Kettle, и нам также нужно выбрать Query is aggregation pipline.

{$match: {activity_type: " view "}}, 
{$sort: {activity_target: -1 } }, 
{$limit: 10} 

Следующие снимки экрана могут помочь вам понять операции более четко.

enter image description here enter image description here

1

Возможно, вы можете использовать структуру агрегации.

+0

Какова структура агрегации? Не могли бы вы привести несколько примеров? Большое спасибо! – LoveTW

+0

http://docs.mongodb.org/manual/applications/aggregation/ – Keviswang

+0

Благодарим вас за советы! Я нахожу способ решить проблему! – LoveTW

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