我有一个A
包含b
特定类型 EmbeddedDocument 的 ListField 的Document B
,它有两个 StringFieldsx
和y
.
class B(EmbeddedDocument):
x = StringField()
y = StringField()
class A(Document):
b = ListField(EmbeddedDocumentField(B))
让我们先填充它们:
b1 = B(x="x1", y="y1")
b2 = B(x="x2", y="y2")
a = A(b=[b1, b2])
a.save()
我想搜索一个A
包含B
具有值x=x1
和的特定条目的实例y=y1
。
我尝试用两个 构建一个查询,contains
每个值一个。
A.objects(b__x__contains="x1", b__y__contains="y1")
[<A: A object>]
成功案例奏效。问题是条件是独立的,那么它们可以匹配 list 的不同条目b
:
A.objects(b__x__contains="x1", b__y__contains="y2")
[<A: A object>]
在 MongoEngine 中有没有办法确保这两个条件将应用于同一个条目?
提前致谢。