首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用MongoEngine将更多项目添加到EmbeddedDocument?

如何使用MongoEngine将更多项目添加到EmbeddedDocument?
EN

Stack Overflow用户
提问于 2012-06-03 23:17:52
回答 1查看 148关注 0票数 0

我正在尝试检查是否已经存在具有当前日期的项目,如果没有,我将添加它。下面的代码没有提示任何错误,但没有将任何内容保存到MongoDB

代码语言:javascript
运行
复制
if len(site.DaylyLog) != 0:
    print len(site.DaylyLog)
    print site.DaylyLog[-1]
    current_date_daylylog = site.DaylyLog[-1]['aggregate_date']
else:
    current_date_daylylog = ''

if current_date_daylylog == datetime.date.today():
    #update document
    print current_date_daylylog
    print "calculating averages"

    site.DaylyLog[-1].average_response_time = (site.DaylyLog[-1].average_response_time+record_uptime.response_time)/2
    site.DaylyLog[-1].average_uptime = (site.DaylyLog[-1].average_uptime+100)/2

    site.save()
else:
    print current_date_daylylog
    print "adding new uptime"

    print site.url
    aggregate_uptime = AggregatedUptime()
    aggregate_uptime.average_response_time = record_uptime.response_time
    aggregate_uptime.average_uptime = 100
    aggregate_uptime.total_downtime = 0
    aggregate_uptime.aggregate_date = datetime.date.today()

    print aggregate_uptime.aggregate_date
    print aggregate_uptime.average_response_time

    site.DaylyLog.append(aggregate_uptime)
    site.save()

    print site.DaylyLog[-1].aggregate_date
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-04 04:49:52

正如我在上面的评论中提到的。我发布的代码是好的,但它重新引用了我在模型中所做的更改。这只是一个新手的问题。:-)

旧的模型是

代码语言:javascript
运行
复制
class Checkr(Document):
 name = StringField()
 slug = SlugField()
 url = URLField()
 frequency = IntField()
 owner = IntField()
 start_date = DateTimeField()
 end_date = DateTimeField()
 current_response_time = FloatField()
 current_response_code = IntField()
 hourly_log = ListField(EmbeddedDocumentField(AggregatedUptime))
 dayly_log = ListField(EmbeddedDocumentField(AggregatedUptime))
 weekly_log = ListField(EmbeddedDocumentField(AggregatedUptime))

它应该在什么时候

代码语言:javascript
运行
复制
class Checkr(Document):
 name = StringField()
 slug = SlugField()
 url = URLField()
 frequency = IntField()
 owner = IntField()
 start_date = DateTimeField()
 end_date = DateTimeField()
 current_response_time = FloatField()
 current_response_code = IntField()
 HourlyLog = ListField(EmbeddedDocumentField(AggregatedUptime))
 DaylyLog = ListField(EmbeddedDocumentField(AggregatedUptime))
 WeeklyLog = ListField(EmbeddedDocumentField(AggregatedUptime))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10871490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档