2017-11-08 6 views
1

私はPythonとMongoDBを統合する方法を学んでいます。私は自分自身を挑戦しました。小さなプログラムを作成してサッカー選手を登録します。MongoengineによるPythonとMongoDBの統合

私のプログラムには、info_playerとinfo_teamの2つのモジュールがあります。対話的にプログラムを実行します(python -i)。第1のモジュールは、プレーヤーに関する情報と第2の情報、チームに関する情報、およびいくつかの照会および保存をデータベースに受け取る。

データベースは「チャンピオンシップ」と呼ばれ、コレクションは「チーム」であり、ドキュメントは「プレイヤー」です。言い換えれば、チームと選手の間には1対多の関係があります。

私の質問:オブジェクトをJsonに変換する必要がありますか(to_jsonの考え方)?どのようにクエリを保存して作成するのですか?

info_player:

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 
     """ 

答えて

0

私はJSON(思考to_jsonを法)にオブジェクトを変換する必要がありますか?

いいえ、必要はありません。文書を保存するという質問の文脈では、ちょうど.save()と呼ぶことができます。これは、下にあるMongoEngineがオブジェクトをBSONに変換するため、JSONに変換するメソッドを明示的に記述する必要がないからです。

MongoEngineオブジェクトをJSONに変換する方法については、MongoEngine: Converting mongoengine objects to JSON #1 を参照してください。

クエリを保存して確認するにはどうすればよいですか?

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

またはクエリのために:Retrieving Type Specific Information

は、インサートの例MongoEngine Tutorial: Adding to our tumblelogを参照してください。

関連する問題