清点pymongo集合中的文档

2024-04-19 15:03:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我是pymongo and flask的初学者,我有一个电影收藏,其中一个电影实例如下:

movie = {"title":"Hobbit" , "actors":["Legolas" , "Gandalf"] , "plot":"some plot"}

我想要的是找到每一部电影的具体演员姓名(例如,打印所有电影的“乐高拉”发挥),但我是一个初学者,我不是很有经验的语法需要。 我尝试的是:

movie_list = movies.count_documents({"actors.$[elem]":request.form['actor']})
        if movie_list != 0:
            movie_list = movies.find({"actors.$[elem]":request.form['actor']})
            return render_template('movie_details.html' , movie = movie_list ) //returns html page that diplays actors

我将感谢你的帮助,指导我完成这项简单的任务。先谢谢你


Tags: andformflask电影plotrequesthtmlactors
2条回答

您可以使用以下命令获得其actor字段包含"Legolas"的所有元素的列表——

movies.find( { 'actors': 'Legolas' } )

其中movies是您的集合名称

如果你想找到多个演员的名字呢

movies.find( { 'actors': { '$in': [ 'Legolas', 'Gandalf' ] } } )

你可以在pymongo的find{a1}上找到更多提示和技巧

现在您可以简单地计算返回结果的len()

只需使用find,您就可以获得包含“Legolas”的电影列表

movie_list = movies.find( { "actors" : "Legolas" } )

您可以签出此link以了解有关查询mongodb数组的更多提示和技巧。 上面的方法返回mongodb游标对象,这样您就可以简单地迭代以获得结果

for movie in movie_list:
    print(movie) # you will get movie as dict, so you can get data like  movie["name"]

相关问题 更多 >