通过 Mongoengine 集成 Python 和 MongoDB

凯欧尼姆

我正在学习如何集成 Python 和 MongoDB,所以我给自己设定了一个挑战:创建一个小程序来注册足球运动员。

我的程序有两个模块,info_player 和 info_team。我将以交互方式运行该程序(python -i)。第一个模块接收有关球员的信息,第二个模块接收有关球队的信息,以及一些查询并保存在数据库中。

我设计了我的数据库如下,数据库被称为“冠军”,集合是“团队”,文件是“球员”。换句话说,球队和球员之间是一对多的关系。

我的问题:我是否需要将对象转换为 Json(思想方法to_json)?如何保存和进行一些查询?

信息播放器:

class Player:
    def __init__(self, name, age, nationality="brazilian", team):
        """
        initializating Jogador class
        """
        self.personal(name, age, country)
        self.professional(team)

    def personal(self, name, age, nationality, dominancy, height):
        """
        personal data about players
        """
        self.name = name
        self.age = age
        self.nationality = nationality
        self.height = height
        self.dominancy = dominancy  # righty, lefty or ambidextrous

    def profissional(self, position, number, team, primary):
        """ 
        professional data about players
        """
        self.position = position
        self.number = number
        self.team = team
        self.primary = False  # is he a regular member of a team?

    def to_Json():
        pass

info_team:

from pymongo import MongoClient
from info_player import Player


class TeamDB:
    def __init___(self, nome, fundacao, federacao):
        self.name = name
        self.foundationData = foundationData
        self.federation = federation

    def initializeDB():
        client = MongoClient('localhost', 27017)
        global base
        base = client.league

    def toMongo():
        """
        receive a player object and save it 
        """
    def playersByPosition():
        """
        query players by position
        """
    def lineup():
        """
        receive a team and return its starting line-up, players with primary = true
        """
万巴赫蒂亚尔

我是否需要将对象转换为 Json(认为 to_json 方法)?

不,你不必。在保存文档问题的上下文中,您可以调用.save()这是因为底层 MongoEngine 将对象转换为 BSON,因此您不必显式编写将其转换为 JSON 的方法。

如果您想了解如何将 MongoEngine 对象转换为 JSON,请参阅MongoEngine:将 mongoengine 对象转换为 JSON #1

如何保存和进行一些查询?

查看插入示例MongoEngine 教程:添加到我们的 tumblelog

p1 = Player(name='Caio', age=20)
p1.save()

或查询:检索类型特定信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章