如何将值从MongoDB推送到Javascript中的数组

时间:2019-01-31 15:00:14

标签: javascript flask pymongo

我目前正在尝试将从MongoDB获得的数据推入Javascript数组中。我正在运行Flask应用程序作为后端。以下是将数据传递到HTML的代码片段。

def home():
    temp_value = mongo.db.temp_sensor_values.find().sort([("_id", -1)]).limit(4)
    return render_template('information.html', temp_value=temp_value)

要使用HTML访问它,我可以使用{{temp_value}}。我想将值temp_value中的temp_value.value推送到HTML页面var temp_array = []中的数组中。到目前为止,我已经尝试过循环了,每个循环都没有用。我得到的错误是SyntaxError: expected expression, got '&',可能是因为{{temp_value}}变成了<pymongo.cursor.Cursor object at 0x7fe751cfd748>。如何使它工作?

编辑:通过执行{{temp_value}}转义{{temp_value|safe}}不起作用,它变成<pymongo.cursor.Cursor object at 0x7fe751cfd748>并且Java语言会引发相同的错误。

编辑2 :因此,尽管这个问题没有被标记为重复,并且链接的答案根本没有帮助,所以这是我的解决方案(无法回答,因为已关闭)

我没有尝试将数据转换为数组(它作为游标对象传递到HTML中),而是通过将其转换为python中的列表

temp_value_list = list(mongo.db.temp_sensor_values.find({}, {"_id": 0}).sort([("_id", -1)]).limit(4))

现在,您需要使用如上所示的投影来删除_id字段,否则您的列表将包含ObjectId,而Javascript无法识别该错误,并且会向您抛出错误。

0 个答案:

没有答案