Я пытался создать запрос некоторые экземпляры Mongo переменные с питоном и MongoEngine мне нужно, чтобы получить все переменной от каждого RegistroPozo во всей коллекции.Quering вложенная документ запроса с Mongoengine
Пример кода:
from mongoengine import *
class Variable(EmbeddedDocument):
mnem=StringField(required=True, max_length=200)
description=StringField(max_length=500)
unit=StringField(max_length=200,default='ppm')
alias=StringField(max_length=200) #,default=mnem
type=StringField(max_length=200,default='DEPENDANT')
class RegistroPozo(EmbeddedDocument):
fecha = DateTimeField()
filepath = StringField()
start = FloatField()
step = FloatField()
stop = FloatField()
variables = EmbeddedDocumentListField(Variable)
registros = ListField(DictField())
version_information_block = StringField(max_length=500)
well_information_block = StringField(max_length=500)
curve_information_block = StringField(max_length=500)
parameter_information_block = StringField(max_length=500)
other_block = StringField(max_length=500)
class Pozo(DynamicDocument):
uwi_pozo = StringField(required=True, max_length=200, primary_key=True)
nom_pozo = StringField(required=True, max_length=200)
prof_total = FloatField(required=True)
elev_terr = FloatField(required=True)
long_pozo = FloatField(required=True)
lat_pozo = FloatField(required=True)
coord_x_po = FloatField(required=True)
coord_y_po = FloatField(required=True)
registros_pozo=EmbeddedDocumentListField(RegistroPozo)
При попытке запроса я делаю много петель, но я верю, что есть лучший способ сделать это. Что-то вроде:
variables_in_all_the_doc = Pozo.objects(Q(AdvanceQuery))