25 янв. 2013 г.

PyMongo: Способ выбора случайной записи

Возможно не самый оптимальный способ, но пока не вкурил лучше - использую его :)
import pymongo
from random import randrange
 
collection = pymongo.Connection()[SERVER][BASE]
set = randrange(1, collection.count())
random_data = collection.find().skip(set).limit(10)

set - выводит рандомное число, исходя с подсчетов записей в документе.
skip - срезает документ на нужное количество записей.
limit - устанавливает дальнейший диапазон получения данных.

Как вариант, теперь мы можем обработать данные через цикл:
for line in random_data:
    print line["название_поля"]
Если вам нужна только одна строка, мы можем изменить random_data примерно так:
random_data = collection.find().skip(set).limit(1)[0]["название_поля"]

Комментариев нет:

Отправить комментарий