Skip to content

Instantly share code, notes, and snippets.

@PradeepTammali
Last active March 14, 2021 21:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save PradeepTammali/9591d80f508f2c7e63d5201b5b901dbc to your computer and use it in GitHub Desktop.
Save PradeepTammali/9591d80f508f2c7e63d5201b5b901dbc to your computer and use it in GitHub Desktop.
class Address(db.Document):
config_collection_name = "address"
street_address = db.StringField()
city = db.StringField()
state_province = db.StringField()
country = db.StringField()
class User(db.Document):
config_collection_name = "user"
name = db.StringField()
email = db.StringField()
address = db.ListField(db.DocumentField(Address))
def __str__(self):
return '%s (%s)' % (self.name, self.email)
def test_user():
a = Address(street_address='123 4th ave', city='NY', state_province='NY', country='USA')
u = User(name='jeff', email='jeff@qcircles.net', address=[a])
u.save()
a1 = Address(street_address='Central City', city='Stockholm', state_province='Stockholm', country='Sweden')
update = User.query.filter(User.name == 'jeff').append(User.address, a1).multi().execute()
def add_user():
a = Address(street_address='123 4th ave', city='NY', state_province='NY', country='USA')
u = User(name='jeff', email='jeff@qcircles.net', address=[a])
u.save()
def add_address():
a1 = Address(street_address='Central City', city='Stockholm', state_province='Stockholm', country='Sweden')
User.query.filter(User.name == 'jeff').append(User.address, a1).multi().execute()
def remove_address():
query = User.query.filter({User.name: 'jeff', User.address: {'$elemMatch':{Address.city:'Stockholm'}}})
if __name__ == '__main__':
add_user()
add_address()
remove_address()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment