【发布时间】:2014-08-23 03:40:13
【问题描述】:
我有一个文档 A,其中包含一个特定的 ListField b
输入 EmbeddedDocument B,其中有两个 StringFields x 和 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>]
成功案例有效。问题是条件是
独立,那么它们可以匹配列表b的不同条目:
A.objects(b__x__contains="x1", b__y__contains="y2")
[<A: A object>]
在 MongoEngine 中有没有办法确保这两个条件 会在同一个条目中应用吗?
提前致谢。
【问题讨论】:
标签: mongodb mongoengine querying embedded-documents nosql