I have a collection that has an EmbeddedDocumentField. I'm having trouble finding examples of how to delete an embedded document from the collection. Can someone provide me with an example or reference to one?
Here is what my setup looks like:
Code:
class Merchant(Document):
merchant_id = StringField(max_length=50)
merchant_name = StringField(max_length=150)
merchant_name_search_alias = StringField(max_length=150)
website = StringField(max_length=150)
location = ListField(EmbeddedDocumentField(Location))
address = StringField(max_length=50)
city = StringField(max_length=30)
state = StringField(max_length=20)
zipcode = IntField()
phone_nummber = StringField(max_length=10)
sub_lat = FloatField()
sub_lng = FloatField()
country = StringField(max_length=20)
promotion = ListField(EmbeddedDocumentField(Promotion))
class Promotion(EmbeddedDocument):
provider_name = StringField(max_length=50)
provider_website = URLField()
promo_name = StringField(max_length=300)
promo_name_search_alias = StringField(max_length=100)
retail_price = DecimalField(precision=2, force_string=True)
discount_price = DecimalField(precision=2, force_string=True)
deal_url = URLField()
buy_url = URLField()
deal_image_url = URLField()
description = StringField(max_length=1000)
start_at = DateTimeField()
end_at = DateTimeField()
category = StringField(max_length=50)
dq_category = StringField(max_length=50)
keywords = StringField(max_length=100)
To remove an element from a doubly-nested array in MongoDB document, you can use $pull operator. Now field "UserZipCode": "20010" has been removed from a doubly-nested array.
Accessing embedded/nested documents – In MongoDB, you can access the fields of nested/embedded documents of the collection using dot notation and when you are using dot notation, then the field and the nested field must be inside the quotation marks.
You can $unset
a field using MyDoc.objects.update(unset__myField=1)
Or using $pull
to remove a single value from a list eg: MyDoc.objects.update(pull__myField=Value)
See: https://docs.mongoengine.org/guide/querying.html?highlight=unset#atomic-updates
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With