0

これは私のmodels.pyです:

from mongoengine import *

class Venue(Document):
    location_id     =   StringField(required=True)
    name            =   StringField(required=True)
    latitude        =   FloatField(required=True)
    longitude       =   FloatField(required=True)
    address         =   StringField()
    postal_code     =   StringField()
    city            =   StringField()
    county          =   StringField()
    country_code    =   StringField()
    events          =   ListField()

    class Event(Document):
        title           =   StringField(required=True)
        description     =   StringField(required=True)
        website         =   StringField()
        start_date      =   DateTimeField(required=True)
        start_time      =   DateTimeField(required=True)
        end_date        =   DateTimeField(required=True)
        end_time        =   DateTimeField(required=True)

明らかに、それぞれVenueに多くの がありEventます。

ターゲットがフィールドに基づいていると仮定して、モデルのリストのEvent最後にモデルを mongodbにプッシュするにはどうすればよいですか?eventsVenuelocation_id

たとえば、pymongo では次のように使用します。

db.venue.update({ 'location_id': id },
        { '$addToSet' :{ 'events' : {   'title': title,
                                        'website' : website,
                                        'description' : description,
                                        'start_date' : start_date,
                                        'start_time' : start_time,
                                        'end_date' : end_date,
                                        'end_time' : end_time
                                    }   
                        }
    })

より最適な構造がある場合は、遠慮なく提案してください。

4

1 に答える 1