[英]Get Element inside Array With Django-MongoDB (Djongo)
我使用 Django 和 MongoDB 作為我的數據庫。 我創建了一個 model (MyObject),其中一個字段是 ArrayField 類型,其中包含條目 JSON 字段。 為此,我創建了一個抽象的 model。
所以我的models.py:
class MyObject(models.Model):
...
myArrayField = models.ArrayField(model_container=NIC, null=True, blank=True, default=[])
...
class MyAbstractObject(models.Model):
field1 = models.CharField(null=True, blank=True, max_length=100, default="")
field2 = models.IPAddressField(blank=True, null=True, default="")
class Meta:
abstract = True
在 mongoDB 我有:
MyObject:
{
...
myArrayField: [{field1: "abc", field2: "1.1.1.1"}]
...
}
現在我想獲取值為“1.1.1.1”的元素,我該怎么做?
我嘗試:
q1 = MyObject.objects.filter(myArrayField__contains='1.1.1.1')
q2 = MyObject.objects.filter(myArrayField_0_field2='1.1.1.1')
q3 = MyObject.objects.filter(myArrayField__contains={'field2':'1.1.1.1})
你能幫助我嗎?
Djongo Doc使查詢ArrayField
非常清晰,這是文檔中的一個示例:
entries = Entry.objects.filter(authors={'name': 'Paul'})
在您的情況下將類似於:
q1 = MyObject.objects.filter(myArrayField={'field2'='1.1.1.1'})
查看文檔以獲取更復雜的查詢
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.