ODM

object document mapping, 对象文档映射. 类似于关系型数据库的ORM

MongoDB的ODM

  • PyMODM
  • MongoEngine

基于MongoEngine的ODM

from mongoengine import connect, Document, StringField, IntField, \EmbeddedDocument, FloatField, ListField, EmbeddedDocumentFieldconnect('student')SEX_CHOICE = (('male', '男'),('female', '女')
)class Grade(EmbeddedDocument):'''成绩'''course = StringField(required=True)score = FloatField(required=True)class Student(Document):'''学生'''name = StringField(max_length=32, required=True)age = IntField(max_length=10)sex = StringField(choice=SEX_CHOICE, required=True)address = StringField()# grade = ListField(FloatField())grades = ListField(EmbeddedDocumentField(Grade))meta = {'collection': 'students','ordering': ['-age']}class OdmHelper(object)def get_one(self):'''查询一条数据'''return Student.objects.first()def get_many(self):'''查询多条数据'''return Student.objects.all()def get_from_oid(self):'''根据ID查询数据'''return Student.objects.filtet(id=1).first()def add_one(self):'''增加数据'''math = Grade(course='数学', score=95)english = Grade(xourse='英语', score=89)stu = Student(name='zhangsan', age=21, sex='male', grades=[math, english])stu.save()return studef update(self):'''修改一条数据'''obj = Student.objects.filter(age=20).update_one(age=22)'''修改多条数据'''obj = Student.objects.filter(age=20).update(age=22)return objdef delete(self):'''删除数据'''obj = Student.objects.filter(sex='male').first().delete()obj = Student.objects.filter(sex='male').delete()

ODM 对象文档映射相关推荐

  1. (八)ElasticSearch之文档映射

    文章目录 一. 文档映射的原理 二. 映射的分类 2.1 动态映射 2.2 静态映射 三. ES类型支持 3.1 基本类型 3.2 复杂类型 3.2.1 地理位置类型(Geo datatypes) 3 ...

  2. neko虚拟机对象文档与扩充

    2019独角兽企业重金招聘Python工程师标准>>> vobject neko 中对象是一种优化的hash表,在虚拟机中类型映射的值是 4 ,数据内部在存储的时候和lua中的tab ...

  3. SAP ABAP 查找更改文档对象(SCDO)和表关系的在线字典1/2(全)

    SAP ABAP 查找更改文档对象(SCDO)和表关系的在线字典1/2(全) 简介: 一个 SAP 更改文档对象(SCDO:SAP Change Document Object )由一组更改表和更改设 ...

  4. Java 中的 XML:Java 文档模型的用法

    Java 中的 XML:Java 文档模型的用法 英文原文 内容: 代码对比 DOM JDOM dom4j Electric XML XPP 结束语 下一次... 参考资料 关于作者 对本文的评价 相 ...

  5. 在.NET Core中使用MongoDB明细教程(1):驱动基础及文档插入

    MongoDB,被归类为NoSQL数据库(其实我更觉得MongoDb是介于关系型数据库和非关系型数据库之间,此外,在我看来在很多场景中MongoDb都可以取代关系型数据库.),是一个以类JSON格式存 ...

  6. 第11章:MongoDB-CRUD操作--文档--查询

    ①语法 db.collection.find(query, projection) ②参数 query :可选,使用查询操作符指定查询条件 projection :可选,使用投影操作符指定返回的键.查 ...

  7. gettext()方法输出空白_如何将文档内容输出为无水印图片?超简单的操作方法看这里...

    在实际的工作生活中,我们可能会遇到这样的情况:文档内容太多,想截图以图片的形式展现,但是文档超过一屏无法全部截取,将其保存为图片的形式,但使用WPS将文档直接输出为无水印图片需要开启WPS会员. 一连 ...

  8. 《微软文档管理解决方案2007》之一:安装部署 - [SharePoint Server]

    微软在2007年底发布了几个基于MOSS 2007的解决方案(具体参看:http://bbs.msotec.net/ShowForum.aspx?ForumID=39). 最近就其中的"微软 ...

  9. word2vec相似度计算_文档相似度助力搜索引擎

    几种简单相似度算法: 1.简单共有词判断 假设现有文本A和B,将A.B经过分词.去停用词之后形成集合A={a1,a2,...,an}和集合B={b1,b2,...,bn}.用NUM(A∩B)表示集合A ...

最新文章

  1. android studio 写文件,在Android Studio中从我自己的类读取和写入文本文件
  2. 第五课 formal method 的课件和翻译,原来老师用latex打印的,pdf转成markdown,之后翻译的
  3. [Swift]随slider变化而变化的圆
  4. boostrap 鼠标滚轮滑动图片_16种基于Bootstrap的css3图片hover效果
  5. [CodeForces gym 101630 J] 过路费(最短路)
  6. LeetCode 127. 单词接龙(图的BFS/双向BFS)
  7. 深度学习(三十三)CRF as RNN语义分割-未完待续
  8. python 的输入规整
  9. Redis在项目中的使用及性能测试(续)
  10. SQLite-database disk image is malformed问题的解决
  11. 安装APK时弹窗提示“Detected problems with app native libraries”
  12. Linux上机考试试题
  13. java_面试题WH_W
  14. 学不会PDF裁剪与PDF拆分?6个方法包你轻松学会
  15. 阿里云服务器ECS建站教程
  16. prefetch_related和select_related的区别
  17. 中国计算机学会CCF推荐国际学术会议和期刊目录
  18. 情人节买什么礼物比较好呢?最实用的情人节礼物分享
  19. 使用友盟社会化分享IOS版SDK分享纯图片到微信
  20. 华为ai服务器芯片,华为AI芯片有什么用特殊在哪 与普通芯片有什么区别

热门文章

  1. isf文件格式改为csv格式
  2. c ||和,if判断语句
  3. CSS3实现边框线条动画特效
  4. java中双冒号的用法
  5. js通过开始时间和结束时间计算出中间的所有日期,并且转换为层级结构数组对象,用于甘特图头部日期数据
  6. 怎么抠图最简单?教你一行Python代码去除照片背景
  7. SCI-EI-收录-检索-出版商 之间的关系
  8. React中文文档 8. 列表 Key
  9. USB过压保护芯片,高输入电压充电器(OVP)
  10. 爬虫技巧-西瓜视频MP4地址获取