金甲2收集和计算相同的字符串

2024-04-26 11:01:16 发布

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

我想收集相同的标签在前端或我的视图页来自数据库。标签正在列表中收集。你知道吗

型号.py

class Note(Document):
    tags = db.ListField(db.StringField())

MongoDB数据示例:

"notes" : [ 
        {
            "title":"lipsum",
            "content":"lipsum",
            "tags" : [ 
                "python", 
                "OOP", 
                "mongoengine"
            ]
        }, 

        {
            "title":"lipsum2",
            "content":"lipsum2",
            "tags" : [ 
                "sql", 
                "functional", 
                "mongoengine",
                "python"
            ]
        }

如何从jinja2,python得到以下结果,烧瓶.ext还是mongoengine本身?你知道吗

mongoengine 2
OOP
functional
python 2
sql

谢谢你的建议。你知道吗


Tags: 视图数据库列表dbsqltitletags标签
1条回答
网友
1楼 · 发布于 2024-04-26 11:01:16

mongoengine ^{}^{}函数可以成为您的朋友:

tag_counts = {}
tag_names = Note.objects.distinct('tags')
for tag in tag_names:
    tag_counts [tag] = Note.objects(tags=tag).count()

或在一行中:

dict([(tag, Note.objects(tags=tag).count()) for tag in Note.objects.distinct('tags')])

它们都构成了这本词典:

{'OOP':1, 'mongoengine':2 ,'python': 2, 'functional':1, 'sql':1}

相关问题 更多 >