我已经定义了类声明:
from mongoengine import *
class TickDataDocument(Document):
"""
"""
instrument_id = StringField(max_length=10, unique=True, required=True)
tick_data = ReferenceField(TickDocument)
class TickDocument(Document):
"""
"""
price = DecimalField(precision=2, required=True)
volume = LongField(required=True)
turnover = DecimalField(precision=2, required=True)
update_time = DateTimeField(unique=True, required=True)
我想查询某个时间段的update_time。
TickDataDocument.objects(instrument_id="fa1100").filter(tick_data__ update_time__lt =datetime.datetime(2013,9,3))
但我得到错误:
mongoengine.errors.InvalidQueryError: Cannot perform join in mongoDB: tick_data__update_time
我怎样才能找到五种解决方案来查询 mongoengine 中的内部引用字段。
最佳答案
正如评论中所建议的,我分两步(两个查询)执行此操作:
tick_docs = list(TickDocument.object(update_time__lt)=datetime.datetime(2013,9,3))
TickDataDocument.objects(instrument_id="fa1100").filter(tick_data__in=tick_docs)
如果有更简单的解决方案,我也很感兴趣。
关于python - Mongo引擎查询引用字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32155962/