-1

我有一个 mongoDB,集合中有一个名为Movies的集合,我存储了一些信息,如下所示: 在此处输入图像描述

我也有一个 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'}

如何仅存储标题

4

1 回答 1

1

好吧,因为你得到了一个字典,你可以简单地将你的代码转换为:

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')

请注意,您仍然会返回一个 dict 并且您需要设置_id为 false,因为默认情况下总是返回 _id。

于 2020-09-04T19:41:35.710 回答