ODM 对象文档映射
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 对象文档映射相关推荐
- (八)ElasticSearch之文档映射
文章目录 一. 文档映射的原理 二. 映射的分类 2.1 动态映射 2.2 静态映射 三. ES类型支持 3.1 基本类型 3.2 复杂类型 3.2.1 地理位置类型(Geo datatypes) 3 ...
- neko虚拟机对象文档与扩充
2019独角兽企业重金招聘Python工程师标准>>> vobject neko 中对象是一种优化的hash表,在虚拟机中类型映射的值是 4 ,数据内部在存储的时候和lua中的tab ...
- SAP ABAP 查找更改文档对象(SCDO)和表关系的在线字典1/2(全)
SAP ABAP 查找更改文档对象(SCDO)和表关系的在线字典1/2(全) 简介: 一个 SAP 更改文档对象(SCDO:SAP Change Document Object )由一组更改表和更改设 ...
- Java 中的 XML:Java 文档模型的用法
Java 中的 XML:Java 文档模型的用法 英文原文 内容: 代码对比 DOM JDOM dom4j Electric XML XPP 结束语 下一次... 参考资料 关于作者 对本文的评价 相 ...
- 在.NET Core中使用MongoDB明细教程(1):驱动基础及文档插入
MongoDB,被归类为NoSQL数据库(其实我更觉得MongoDb是介于关系型数据库和非关系型数据库之间,此外,在我看来在很多场景中MongoDb都可以取代关系型数据库.),是一个以类JSON格式存 ...
- 第11章:MongoDB-CRUD操作--文档--查询
①语法 db.collection.find(query, projection) ②参数 query :可选,使用查询操作符指定查询条件 projection :可选,使用投影操作符指定返回的键.查 ...
- gettext()方法输出空白_如何将文档内容输出为无水印图片?超简单的操作方法看这里...
在实际的工作生活中,我们可能会遇到这样的情况:文档内容太多,想截图以图片的形式展现,但是文档超过一屏无法全部截取,将其保存为图片的形式,但使用WPS将文档直接输出为无水印图片需要开启WPS会员. 一连 ...
- 《微软文档管理解决方案2007》之一:安装部署 - [SharePoint Server]
微软在2007年底发布了几个基于MOSS 2007的解决方案(具体参看:http://bbs.msotec.net/ShowForum.aspx?ForumID=39). 最近就其中的"微软 ...
- word2vec相似度计算_文档相似度助力搜索引擎
几种简单相似度算法: 1.简单共有词判断 假设现有文本A和B,将A.B经过分词.去停用词之后形成集合A={a1,a2,...,an}和集合B={b1,b2,...,bn}.用NUM(A∩B)表示集合A ...
最新文章
- golang 安装一个项目下的所有依赖
- mysql的语句分类,查询、子查询及连接查询
- 【译】The Faults and Shortcomings of the EVM
- QT的QGLFunctions类的使用
- linux的sh文件怎么执行,linux下执行sh文件的四种做法
- java怎么配置哨兵模式_redis 哨兵模式配置与spring集成
- python安卓版开发环境搭建_React Native Android 开发环境搭建(Windows 版)
- mysql中数据类型的长度
- Authlib OAuth2.0
- redis集群内部的带宽消耗
- IOS逆向之汇编基础
- 关于苹果手机打开钉钉小程序中处理的日期显示invalid date
- 计算机科学主题 一亩三分地 每日答题 题库
- node-telegram-bot-api 基于Nodejs的TG机器人
- 比较详细的Mencoder命令行使用
- 优秀生被批评后“自闭”一个月 挫折教育不可少
- 10-集合(核心类库)
- Linux的文件系统(磁盘标准分区)
- 智能照明的新进展和解决方案
- 每天一个Linux命令(22):文件属性详解
热门文章
- python手写数字识别实验报告_Python代码实现简单的MNIST手写数字识别(适合初学者看)...
- 牛客练习赛46-华华跟奕奕玩游戏(期望+逆元)
- C语言结构体中的冒号用法
- BOSS创投社群:要想成为富人,得改变原有思维,谈谈什么是富人思维模式!
- 学习笔记之MyEclipse里各个文件名前的小标记都代表的意思
- 中文标点符号unicode码
- MATLAB回归分析命令——regress命令
- tensorflow的regress(超详细教程)
- python kivy 控件(小部件)的属性集合
- 这个年龄计算程序相当不科学,体验还是差差哒