Mongoengine 使用笔记

1.直接将某个document对象导出对应的json数据.

#models
class Feed(Document):
    """
    @summary: 所有订阅内容
    """

    keywords = StringField(default='')
    job_type = StringField(default='')  # 工作类型
    talent_level = StringField(default='')  # 人才级别
    expect_area = StringField(default='')  # 期望工作地
    job_desc = StringField(default='')  # 职位描述
    
    deleted = BooleanField(default=False)
    add_time = DateTimeField(default=datetime.now())
    
    username = StringField()
    # 最新增加对于每个订阅职位的理解,更好辅助算法.
    remarks = ListField(EmbeddedDocumentField(Remark), default=[], required=False)
    ignored = BooleanField(default=False)  # 忽略用户输入关键词


#获取其中一个对象
feeds = Feed.objects.filter(deleted=False).limit(1)

#取出其对应的字典格式数据
data = feeds[0]._data

#打包为json格式
#使用 bson中的json_util,json中的dumps无法处理mongoengine中对应的时间格式
from bson import json_util
feed_json_data = json_util.loads(data)

http://stackoverflow.com/questions/13687703/return-mongoengine-documents-as-json

2.将对应的json数据转换为mongoengine所对应的对象

 

#用上面数据
feed = Feed.from_json(feed_json_data)

https://github.com/MongoEngine/mongoengine/issues/1  

posted @ 2014-03-10 20:06  likaiguo  阅读(1710)  评论(1编辑  收藏  举报
无觅关联推荐,快速提升流量