Как получить реактивные данные mon go, используя Rx 3.1.0v и pymon go python - PullRequest
0 голосов
/ 25 апреля 2020

Я пытаюсь получить наблюдаемые данные mon go, используя Rx 3.1.0, я пытаюсь реализовать "Observable.from_", появляется ошибка, что "from_" не распознается как наблюдаемый метод

from pymongo import MongoClient
from rx import Observable

def collect_data(dbname, collection):
clt = MongoClient('localhost', 27017)
db = clt[dbname]
col = db[collection]

colData= col.find().limit(10)
return Observable.from_(colData)
collect_data('test', 'money').subscribe(print(data))

появляется ошибка, что "from_" не распознается как наблюдаемый метод

Я пытаюсь использовать rx.of

from pymongo import MongoClient
import rx

def collect_data(dbname, collection):
clt = MongoClient('localhost', 27017)
db = clt[dbname]
col = db[collection]

colData= col.find().limit(10)
return rx.of(colData)
collect_data('test', 'money').subscribe(lambda data: print('{0}'.format(data)))

Я получаю

<pymongo.cursor.Cursor object at 0x000001BF824FE8C8>

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

вместо

Observable.from_ (colData)

я должен заменить на новый оператор RxPY 3.1.0

rx.from_ (colData) .pipe (ops.filter (...), ops.distinct (...), ops.take (...), ops.map (...),)

0 голосов
/ 25 апреля 2020

find() возвращает курсор, который является итеративным; так что используйте его в предположении с l oop или подобным. например,

for item in colData
    ...

или

list(colData)
...