1
特定のEmbeddedDocument
のベースでドキュメントを取得していますが、検索中にEmbeddedDocuments
のすべてを取得したくない場合は、EmbeddedDocument
と一致するもののみをDocument
とします。ここで選択した埋め込みドキュメントのみをmongoengineに含めるにはどうすればいいですか?
は私のコードです:
学校組み込みドキュメント
class School(EmbeddedDocument):
name = StringField(max_length=120)
ユーザードキュメント
class User(Document):
first_name = StringField(max_length=60, required=True)
last_name = StringField(max_length=60)
schools = EmbeddedDocumentListField(School)
給餌文書:
user = User.objects.create(first_name="Rohit", last_name="Khatri")
user.schools = [
School(name="Auden High School")),
School(name="Baldwin Boys High School"),
School(name="Baldwin Girls High School"),
School(name="Aukamm Elementary School"),
School(name="Mason-Rice Elementary")
]
user.save()
user = User.objects.create(first_name="ABC", last_name="DEF")
user.schools = [
School(name="Little Harbor Elementary School")),
School(name="Aukamm Elementary School"),
School(name="Mason-Rice Elementary")
]
user.save()
私はこのコードを使用してい
そのschools
分野における特定の学校を持っているusers
を取得:私は学校のフィールドでAukamm Elementary School
でのみ選択された学校を取得したい
users = User.objects(school__match={"name": "Aukamm Elementary School"})
。
[
{
"first_name": "Rohit",
"last_name": "Khatri",
"schools": [
{
"name": "Auden High School"
},
{
"name": "Baldwin Boys High School"
},
{
"name": "Baldwin Girls High School"
},
{
"name": "Aukamm Elementary School"
},
{
"name": "Mason-Rice Elementary"
}
]
},
{
"first_name": "ABC",
"last_name": "DEF",
"schools": [
{
"name": "Little Harbor Elementary School"
},
{
"name": "Aukamm Elementary School"
},
{
"name": "Mason-Rice Elementary"
}
]
}
]
必要な出力
[
{
"first_name": "Rohit",
"last_name": "Khatri",
"schools": [
{
"name": "Aukamm Elementary School"
}
]
},
{
"first_name": "ABC",
"last_name": "DEF",
"schools": [
{
"name": "Aukamm Elementary School"
}
]
}
]
を受け
おかげ
として機能します。 –