MongoDB에서 'GET'메서드 읽기, TypeError : 문자열 인덱스는 str이 아닌 정수 여야합니다.

서류:

{ "_id" : ObjectId("5532211a6d88889eb26f6556"), "id" : 0, "name" : "Latte", "quantity" : "1", "milk" : "Skim", "size" : "grande" }

{ "_id" : ObjectId("553221c56d88889eb26f6557"), "id" : 1, "name" : "Americano", "quantity" : 3, "milk" : "No", "size" : "short" }

{ "_id" : ObjectId("553221e36d88889eb26f6558"), "id" : 2, "name" : "Americano", "quantity" : 1, "milk" : null, "size" : "short" }

암호:

from flask import Flask, jsonify, make_response, request
import pymongo
from bson.json_util import dumps

connection = pymongo.MongoClient("localhost", 27017)
db = connection.RESTbucks
collection  = db.order


app = Flask(__name__)


@app.route('/order/<int:order_ID>', methods=['GET'])
def get_order(order_ID):
    orders = collection.find()
    json_orders = dumps(orders)
    target_order_ID = [target_order_ID for target_order_ID in json_orders if target_order_ID["id"] == order_ID]
    if target_order_ID == order_ID:
        return jsonify({'order': json_orders[order_ID]})
    else:
        return make_response(jsonify({'error': 'Not found'}), 404)

" http : // localhost : 5000 / order / 1 "에 액세스하면 결과가 예상됩니다.

"{ "_id" : ObjectId("553221c56d88889eb26f6557"), "id" : 1, "name" : "Americano", "quantity" : 3, "milk" : "No", "size" : "short" }"

하지만 TypeError: string indices must be integers, not str예상되는 결과를 얻으 려면 어떻게해야합니까?

레이 톨

다음 두 줄을 수정해야합니다.

json_orders = dumps(orders)
target_order_ID = [target_order_ID for target_order_ID in json_orders if target_order_ID["id"] == order_ID]

먼저 dumps문자열을 만들고 문자열도 마찬가지 json_orders입니다. 목록 이해력에서 반복하면 문자열 자체가 한 문자 문자열 인 문자열의 문자를 반복하는 것입니다. 그런 다음 ["id"]오류의 원인이되는 이러한 문자열을 인덱싱하려고합니다 .

두 번째 줄에는 또 다른 오류가 있습니다. target_ID목록에 할당하는 중입니다 . 목록이 나타나면 목록에서 하나의 요소 만 필요합니다. IMHO가 이름을 남용 target_order_ID했으므로 약간의 정리가 도움이 될 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Scrapy : TypeError : 문자열 인덱스는 str이 아닌 정수 여야합니까?

분류에서Dev

multiprocessing pool.map ()에서 "TypeError : 목록 인덱스는 str이 아닌 정수 여야합니다."

분류에서Dev

Pandas pd.merge "TypeError : 문자열 인덱스는 str이 아닌 정수 여야합니다."

분류에서Dev

TypeError : 목록 인덱스는 str '문자 변환'이 아닌 정수 또는 슬라이스 여야합니다.

분류에서Dev

파이썬 csv 쓰기 오류-문자열 인덱스는 str이 아닌 정수 여야합니다.

분류에서Dev

/ 1 인수의 TypeError는 다운로드가 아닌 문자열, 바이트 또는 정수 여야합니다.

분류에서Dev

TypeError : 문자열 인덱스는 ArangoDB에서 정수 여야합니다.

분류에서Dev

TypeError ( '목록 인덱스는 str이 아닌 정수 여야합니다',)

분류에서Dev

목록 또는 조각의 여러 숫자에서 데이터 구문 분석-TypeError : 목록 인덱스는 str이 아닌 정수 또는 조각이어야합니다.

분류에서Dev

Python에서 JSON을 CSV로 변환 : 목록 인덱스는 str이 아닌 정수 여야합니다.

분류에서Dev

Numpy 배열-TypeError : 목록 인덱스는 튜플이 아닌 정수 또는 슬라이스 여야합니다.

분류에서Dev

TypeError : 목록이 아닌 문자열 또는 읽기 전용 문자 버퍼 여야합니다.

분류에서Dev

"TypeError : 목록 인덱스는 str이 아닌 정수 또는 슬라이스 여야합니다."해결 방법

분류에서Dev

TypeError : 목록 인덱스는 str (Python)이 아닌 정수 또는 슬라이스 여야합니다.

분류에서Dev

TypeError : 목록 인덱스는 str이 아닌 정수 또는 슬라이스 여야합니다.

분류에서Dev

TypeError : 목록 인덱스는 BioPython의 str이 아닌 정수 또는 슬라이스 여야합니다.

분류에서Dev

TypeError : 튜플 인덱스는 str이 아닌 정수 또는 슬라이스 여야합니다.

분류에서Dev

TypeError : 목록 인덱스는 str 사전이 아닌 정수 또는 슬라이스 여야합니다.

분류에서Dev

Python JSON TypeError 목록 인덱스는 str이 아닌 정수 또는 슬라이스 여야합니다.

분류에서Dev

TypeError : 목록 인덱스는 JSON을 구문 분석하는 동안 str이 아닌 정수 또는 슬라이스 여야합니다.

분류에서Dev

TypeError : 목록 인덱스는 str JSON Scrapy가 아닌 정수 또는 슬라이스 여야합니다.

분류에서Dev

Python은 사전에 추가 할 수 없습니다. TypeError : 목록 인덱스는 str이 아닌 정수 여야합니다.

분류에서Dev

TypeError : 튜플 인덱스는 튜플이 아닌 정수 여야합니다.

분류에서Dev

Python : "TypeError : 목록 인덱스는 튜플이 아닌 정수 여야합니다."

분류에서Dev

슬라이싱 데이터 프레임에서 "TypeError : 튜플 인덱스는 str이 아닌 정수 또는 슬라이스 여야합니다."오류가 발생했습니다.

분류에서Dev

TypeError : 슬라이스 인덱스는 Python 3에서 정수 여야합니다.

분류에서Dev

numpy, scipy, interp1d-TypeError : 튜플 인덱스는 str이 아닌 정수 여야합니다.

분류에서Dev

Python 목록 루프 오류 : TypeError : 목록 인덱스는 str이 아닌 정수 여야합니다.

분류에서Dev

TypeError : 인수는 PosixPath가 아닌 문자열, 바이트 또는 정수 여야합니다.

Related 관련 기사

  1. 1

    Scrapy : TypeError : 문자열 인덱스는 str이 아닌 정수 여야합니까?

  2. 2

    multiprocessing pool.map ()에서 "TypeError : 목록 인덱스는 str이 아닌 정수 여야합니다."

  3. 3

    Pandas pd.merge "TypeError : 문자열 인덱스는 str이 아닌 정수 여야합니다."

  4. 4

    TypeError : 목록 인덱스는 str '문자 변환'이 아닌 정수 또는 슬라이스 여야합니다.

  5. 5

    파이썬 csv 쓰기 오류-문자열 인덱스는 str이 아닌 정수 여야합니다.

  6. 6

    / 1 인수의 TypeError는 다운로드가 아닌 문자열, 바이트 또는 정수 여야합니다.

  7. 7

    TypeError : 문자열 인덱스는 ArangoDB에서 정수 여야합니다.

  8. 8

    TypeError ( '목록 인덱스는 str이 아닌 정수 여야합니다',)

  9. 9

    목록 또는 조각의 여러 숫자에서 데이터 구문 분석-TypeError : 목록 인덱스는 str이 아닌 정수 또는 조각이어야합니다.

  10. 10

    Python에서 JSON을 CSV로 변환 : 목록 인덱스는 str이 아닌 정수 여야합니다.

  11. 11

    Numpy 배열-TypeError : 목록 인덱스는 튜플이 아닌 정수 또는 슬라이스 여야합니다.

  12. 12

    TypeError : 목록이 아닌 문자열 또는 읽기 전용 문자 버퍼 여야합니다.

  13. 13

    "TypeError : 목록 인덱스는 str이 아닌 정수 또는 슬라이스 여야합니다."해결 방법

  14. 14

    TypeError : 목록 인덱스는 str (Python)이 아닌 정수 또는 슬라이스 여야합니다.

  15. 15

    TypeError : 목록 인덱스는 str이 아닌 정수 또는 슬라이스 여야합니다.

  16. 16

    TypeError : 목록 인덱스는 BioPython의 str이 아닌 정수 또는 슬라이스 여야합니다.

  17. 17

    TypeError : 튜플 인덱스는 str이 아닌 정수 또는 슬라이스 여야합니다.

  18. 18

    TypeError : 목록 인덱스는 str 사전이 아닌 정수 또는 슬라이스 여야합니다.

  19. 19

    Python JSON TypeError 목록 인덱스는 str이 아닌 정수 또는 슬라이스 여야합니다.

  20. 20

    TypeError : 목록 인덱스는 JSON을 구문 분석하는 동안 str이 아닌 정수 또는 슬라이스 여야합니다.

  21. 21

    TypeError : 목록 인덱스는 str JSON Scrapy가 아닌 정수 또는 슬라이스 여야합니다.

  22. 22

    Python은 사전에 추가 할 수 없습니다. TypeError : 목록 인덱스는 str이 아닌 정수 여야합니다.

  23. 23

    TypeError : 튜플 인덱스는 튜플이 아닌 정수 여야합니다.

  24. 24

    Python : "TypeError : 목록 인덱스는 튜플이 아닌 정수 여야합니다."

  25. 25

    슬라이싱 데이터 프레임에서 "TypeError : 튜플 인덱스는 str이 아닌 정수 또는 슬라이스 여야합니다."오류가 발생했습니다.

  26. 26

    TypeError : 슬라이스 인덱스는 Python 3에서 정수 여야합니다.

  27. 27

    numpy, scipy, interp1d-TypeError : 튜플 인덱스는 str이 아닌 정수 여야합니다.

  28. 28

    Python 목록 루프 오류 : TypeError : 목록 인덱스는 str이 아닌 정수 여야합니다.

  29. 29

    TypeError : 인수는 PosixPath가 아닌 문자열, 바이트 또는 정수 여야합니다.

뜨겁다태그

보관