将mongoDB中的单个变量存储到flask中的变量

问题描述

我有一个mongoDB,其中有一个名为 Movies 的集合,我存储了以下信息:

enter image description here

我也有一个html,我只想显示标题

<h3>{{ title}}</h3>
to do that I run this code:
@app.route("/movieInfo")
def movieInfo():

    title = db.db.Movies.find_one({"title": "Endgame"})
    ticketDate = "10/10/20 17:00"

    return render_template("movieInfo.html",title=title)

当我尝试获取收藏夹中的所有内容时,而不只是标题

我得到的不是标题,而是: {'_ id':ObjectId('5f525e1328638ac98f69c936'),'title':'Endgame','releaseDate':'26 April 2019','info':“复仇者联盟的毁灭性事件发生后:无限战争(2018) ,宇宙一片废墟。在剩下的盟友的帮助下,复仇者再次集结起来,以扭转塔诺斯的行动并恢复宇宙的平衡。”,'ticketDate':'10 / 10/20-17:00' }

如何仅存储标题

解决方法

好吧,因为您要返回一个字典,所以只需将代码转换为:

movie = db.db.Movies.find_one({'title': 'Endgame'})
title = movie.get('title')

您可以做的另一件事是指定projection,以便仅获取所需的字段(这将占用较少的带宽,并且理论上会更快)。 看起来像这样:

movie = db.db.Movies.find_one({'title': 'Endgame'},projection={'title': True,'_id': False})
title = movie.get('title')

请注意,您仍然会收到命令,并且需要将_id设置为false,因为默认情况下始终会返回_id。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...