PyMongo-flask 出现奇怪的相等错误

Strange equality error with PyMongo-flask

所以我有这个 api 端点:

@app.route("/subject", methods=["GET"])
def GET_subject():
    subject = request.args["subject"]
    page = int(request.args["page"])

    pagesize = 10
    subjectResults = db.subject.find()[pagesize*(page-1):pagesize*(page)]
    if subjectResults is "[]":
        return json.dumps({"page": page, "subject": subject, "subjectResults": bson.json_util.dumps(subjectResults)})
    else:
        return json.dumps({"error": "404"})

当我 运行 它时,数据库中没有数据,它 returns 我输入的错误 404 消息。如您所知,我正在使用 Flask 和 Flask-PyMongo为此。

使用 is 关键字,您正在比较对象的身份。

在你的例子中,你正在检查 subjectResults 是否与字符串文字 "[]" 是同一个对象,它总是 False.

有关 is 关键字的说明,请参见 here