запрос pymongo останавливает работу моего сервера - PullRequest
0 голосов
/ 25 сентября 2019

В моем коде есть этот маршрут, который получает файл .csv и читает его.Я вставляю весь маршрут здесь.Когда строки 811-819 прокомментированы, все идет гладко.Однако, когда это не так, цикл выполняется, и выполнение программы останавливается, т.е. терминал показывает:

david@david:~/tcgp$ 

вот маршрут:

@app.route("/uploadhc", methods=['GET','POST'])
def uploadhc():
    n,c,con,q,p=0,1,2,3,4
try:
    file = request.files['file']
    csv_f = csv.reader(file)
    data = [row for row in csv_f]

    for t in range(1,10):
        try:
            name=data[t][n]

            sets=translate((data[t][c]).lower())

            if data[t][con]=='':
                state='nm'
            else:
                state=data[t][con].lower()

            if data[t][q]!=666:
                quantity=int(data[t][q])
            else:
                quantity=1

            price=str(data[t][p])

            print name, state, quantity, price
          ############# line 811
            try:    
                items=CARDS_COLLECTION.find({'functionalname': name.lower()},{"_id":1})
                cardid=j['_id']

                for elem in items:
                    cardid=str(elem['_id'])
            except:
                cardid='3'
                print 'error'   
           ############### line 819

            print name, state, quantity, price

        except:
            print 'excpt'

    return ('',204)
except Exception as e:
    print '3'
    print str(e)
    return ('',204)

, кроме того, если этидве строки прокомментированы:

for elem in items:
    cardid=str(elem['_id'])

сервер больше не останавливается при вызове этого маршрута.

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

edit: чтобы сделать его еще более странным, эта строка cardid = str(elem ['_ id']), кажется, удается присвоить желаемое значение переменной cardid.только когда весь цикл завершен, сервер останавливается.

edit2: из этого ничего не выходит, кроме строки ~ 817, и если я добавлю cardid в строку 820 (имя печати и т. д.),Кардид печатается

...