问题描述
我有一个mongoDB,其中有一个名为 Movies 的集合,我存储了以下信息:
<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。