执行结果 : names = {'Tom', 'Jerry', 'Jack'}, type = names = set(), type = 二、获取两个集合的差集...- 集合 A 有集合 B 没有 获取两个集合的差集 : 集合 A 有集合 B 没有 集合A.difference(集合B) 该函数会得到一个新集合 , 原来的 集合 A 和 集合 B 都不变 ; 代码示例...2, 3} {2, 3, 4} {1} 三、消除两个集合的差集 - 集合 A 中删除与集合 B 相同的元素 消除两个集合的差集 : 在集合 A 中删除与集合 B 相同的元素 ; 集合A.difference_update...消除参照集合 不变 执行结果 : {1} {2, 3, 4} 四、获取两个集合的并集 - 集合 A 与集合 B 合并 获取两个集合的并集 : 将 集合 A 与集合 B 中的元素合并到一个新集合中 ; 集合...(num2) # {2, 3, 4} 原集合不变 print(num3) # {1, 2, 3, 4} 得到的新的并集集合 执行结果 : {1, 2, 3} {2, 3, 4} {1, 2, 3,
1.什么是并集 集合a:1,2,3,4 集合b:3,4,5,6 a和b一共拥有的不重复的元素有1,2,3,4,5,6。 a,b两个集合中所有的不重复的元素即为a与b的并集。...2.union的功能 返回多个集合的并集:即包含了所有集合的元素,重复的元素只会出现一次。 3.union的用法 a_set:在这里作为焦点集合。...进程已结束,退出代码为 0 例2:只需要焦点是一个集合(例子中是a_set),union函数中传入interable就可以。...常见的可迭代对象包括: 1)序列类型: 列表 (list)、元组 (tuple)、字符串 (str)。 2)集合类型: 集合 (set)、字典 (dict)。...3)文件对象: open() 函数打开的文件。 4)自定义可迭代对象: 实现了 iter() 方法的对象。
1.什么是差集 a,b两个集合,由所有属于a且不属于b的元素组成的集合叫做a与b的差集。 集合a:1,2,3,4 集合b:3,4,5,6 以a为焦点来看。1、2就是a与b的差集。...2.difference的功能 返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合中。...3.difference的用法 a_set = {'name','xiaomu','xiaoming'} b_set = {'xiaoming','xiaogang','xiaohong'} a_diff
# 定义两个集合 a = {1,2,3,4,5} b = {3,4,5,6} # 第一种方法 c = a.union(b) # 输出结果:{1,2,3,4,5,6} # 第二种方法 d = a |...每天分享一个编程技巧,如何能够掌握。能坚持学下去,一年365天,不费吹灰之力,就可以真正学会365个编程技巧。如果一天分享365个,就不一定能够全部掌握。
koa(扩展知识, 建议学习) koa是express超集(进阶版) 前后端分离和耦合概念介绍 面向过程 -》 面向对象 --》 面向服务 数据库 Node.js mongodb(bson json的超集...数据库分为关系系数据库和非关系型数据库(nosql) 关系型数据库是由表和表之间的关系组成的,nosql是由集合组成的,集合下面是很多的文档。...非关系型数据库文件存储格式为BSON(一种JSON的扩展)。...切换: 数据库已经存在, 我们从一个数据库切换到另一个数据库 show dbs 将我们本地的所有数据库列出来 db/db.getName() 查看当前使用的数据库 MongoDB 数据库 -》 集合...) show dbs db.versions() db.getMongo() 针对集合(collections)的操作 (1)创建一个集合 db.createCollection("collName
MongoDB是一个开源的NoSQL数据库,相比MySQL那样的关系型数据库,它更显得轻巧、灵活,非常适合在数据规模很大、事务性不强的场合下使用。...文档 —— 是MongoDB的核心概念,是键值对的一个有序集,在JavaScript里文档被表示成对象。同时它也是MongoDB中数据的基本单元,非常类似于关系型数据库管理系统中的行,但更具表现力。...集合 —— 由一组文档组成,如果将MongoDB中的一个文档比喻成关系型数据库中的一行,那么一个集合就相当于一张表。...test1集合,然后在保存数据。...如果你想对某个集合有所作为,那就交给Model模型来处理吧,创建一个Model模型,我们需要指定:1.集合名称,2.集合的Schema结构对象,满足这两个条件,我们就会拥有一个操作数据库的金钥匙。
、分级等信息,以及一种叫做 HyperMedia 的数据,通常是一个 URL,指明了能够获取这个资源的 API 端点地址。...如果单单将所有资源整合到一个 API 之中,还有可能会因为整合了无关的数据而导致数据量的增加。...别名即为返回字段使用另一个名字,使用方法也很简单,只需要在请求体的字段前面使用别名:的形式即可,返回的数据将会自动替换为该名称。 ?...借助 ThinkJS 强大的数据 模型功能,我们只需要以数据集合的名称作为文件名建立文件并定义模型即可使用,相比 mongoose 原生的操作更为简单。...回忆前面的数据模型定义,里面的 movies 和 actors 字段是一组另一个集合中数据的引用,目的是方便建立电影和演员信息之间的关系以及维护,在 Resolver 运行之后,movies 和 actors
mongoose简介 mongoose官网:https://mongoosejs.com/ #为什么要用Mongoose Mongoose就是一个让我们可以通过Node来操作MongoDB的一个模块。...}) #mongoose基本使用 #mongoose的几个新的对象 在MongoDB中,多个Document可以组成Collection(以下简称集合),多个集合又可以组成数据库。...文档 —— 是MongoDB的核心概念,是键值对的一个有序集,在JavaScript里文档被表示成对象。同时它也是MongoDB中数据的基本单元,非常类似于关系型数据库管理系统中的行,但更具表现力。...集合 —— 由一组文档组成,如果将MongoDB中的一个文档比喻成关系型数据库中的一行,那么一个集合就相当于一张表。...mongoose中任何任何事物都是从Schema开始的。每一个Schema对应MongoDB中的一个集合(collection)。Schema中定义了集合中文档(document)的样式。
5、mongoose验证 在创建集合规则时,可以设置当前字段的验证规则,验证失败就则输入插入失败。...validate: 自定义验证器 default: 默认值 获取错误信息:error.errors[‘字段名称’].message // 引入mongoose第三方模块 用来操作数据库 const mongoose...通常不同集合的数据之间是有关系的,例如文章信息和用户信息存储在不同集合中,但文章是某个用户发表的,要查询文章的所有信息包括发表用户,就需要用到集合关联。...使用id对集合进行关联 使用populate方法进行关联集合查询 集合关联实现 // 用户集合 const User = mongoose.model('User', new mongoose.Schema...title: { type: String }, // 使用ID将文章集合和作者集合进行关联 author: { type: mongoose.Schema.Types.ObjectId
简而言之,数据库就是存储数据的仓库 数据库分类 数据库主要分为两种: 关系型数据库(RDBMS) MySQL、Oracle、DB2、SQL Server 关系数据库中都是数据表 非关系型数据库(NoSQL...集合名>.find({}) 可以接受一个对象作为条件参数 {属性名1:值,属性名2:值} 查询属性是指定值的文档 db.集合名>.findOne({}) 用来查询集合中符合条件的第一个文档 db....集合名>.deleteOne({条件}) 删除符合条件的一个文档 db.集合名>.deleteMany({条件}) 删除符合条件的多个文档 db....users 集合中插入文档 文档的内容包含用户名、密码、年龄、爱好、邮箱、是否删除 10 文档关系 一对一(one to one) 夫妻(一个丈夫对应一个妻子) 可以使用内嵌文档的方式体现 一对多(one...Model 对象作为集合中的所有文档表示 相当于 MongoDB数据库中的集合collection Document 表示集合中的具体文档 Schema 对象 const Schema = mongoose.Schema
简而言之,数据库就是存储数据的仓库 数据库分类 数据库主要分为两种: 关系型数据库(RDBMS) MySQL、Oracle、DB2、SQL Server 关系数据库中都是数据表 非关系型数据库...集合名>.findOne({}) 用来查询集合中符合条件的第一个文档 db.集合名>.find({}).count() 查询所有结果的数量 修改集合中符合条件的文档 db....集合名>.deleteOne({条件}) 删除符合条件的一个文档 db.集合名>.deleteMany({条件}) 删除符合条件的多个文档 db....users 集合中插入文档 文档的内容包含用户名、密码、年龄、爱好、邮箱、是否删除 10 文档关系 一对一(one to one) 夫妻(一个丈夫对应一个妻子) 可以使用内嵌文档的方式体现 一对多...,通过 Model 才能对数据库进行操作 // mongoose.model(modelName, Schema); // modelName 是要映射的集合名 // mongoose 会自动将集合名变成复数
创建集合 创建集合分为两步,-是对对集合设定规则,二是创建集合,创建mongoose.Schema构造函数的实例即可创建集合。...// mongoose.Schema() 是一个构造函数,要new一个实例对象 //2、设定集合规则 const courseSchema = new mongoose.Schema({ name...= mongoose.model ('Course', courseSchema); //第一个参数是集合名称,第二个是集合规则。...validate: 自定义验证器 default: 默认值 获取错误信息:error.errors['字段名称'].message // 验证规则可以跟两个参数,第二个参数表示自定义错误提示信息...通常不同集合的数据之间是有关系的,例如文章信息和用户信息存储在不同集合中,但文章是某个用户发表的 要查询文章的所有信息包括发表用户,就需要用到集合关联。
Sequelize是一个基于Node.js的、承诺(Promise)式的对象关系映射(ORM)工具。简单来说,它能让开发者更简单、更直观地处理关系型数据库。...它是一种安全机制,用于控制一个域下的Web应用如何访问另一个域下的资源。在没有CORS的情况下,出于安全考虑,浏览器通常不允许从一个域访问另一个域的资源。...Mongoose的闪光点 架构定义:Mongoose提供了基于架构的解决方案,这意味着你可以在应用层定义一个固定的架构,最终映射成MongoDB的集合(collection)。...代码简洁性:帮助开发者避免冗余,维护清晰、简洁的代码结构。 Lodash的应用场景 比如你正在开发一个Web应用,需要对用户的数据集合进行复杂的处理。...过滤与限制文件类型和大小:Multer可以过滤和限制上传的文件类型和大小,确保上传功能的安全性和有效性。 Multer的应用场景 比如你正在开发一个社交媒体平台,需要允许用户上传图片和视频。
,如果很复杂的一对多或多对多的关系,表达起来就很复杂,也要注意内嵌还有一个最大的单条文档记录限制为 16MB。...图片来源:mongoing[1] 引用模型示例 JSON 模型 我们通过作者和书籍的关系,一个作者对应多个书籍这样一个简单的示例来学习如何在 MongoDB 中实现关联非 _id 查询。...创建一个 aggregateTest.js 重点在于 $lookup 对象,代码如下所示: $lookup.from: 在同一个数据库中指定要 Join 的集合的名称。...$lookup.foreignFiled: 被 Join 的集合的字段,本示例中是 Books 表的 bookId 字段。 $as: 别名,关联查询返回的这个结果起一个新的名称。..._id 字段,并且在 populate 方法里无法更改的,但是在 Mongoose 4.5.0 之后增加了虚拟值填充[3],以便实现文档中更复杂的一些关系。
1.2 数据库分类 数据库主要分成两种: 关系型数据库 • MySQL、Oracle、DB2、SQL Server …… 关系数据库中全都是表 非关系型数据库 • MongoDB、Redis...文档(document):类似于 JS 中的对象,在 MongoDB 中每一条数据都是一个文档。 集合(collection):集合就是一组文档,也就是集合是用来存放文档的。...可以将对象或数组中的对象添加进集合中,添加时如果集合或数据库不存在,会自动创建。 插入的文档对象会默认添加_id 属性,这个属性对应一个唯一的id,是该文档的唯一标识。...); db.emp.find(); 3.7 文档中的关系 文档之间的关系: 一对一:在 MongoDB 中可以通过内嵌文档的形式来体现出一对一的关系。...Document • Document 表示集合中的具体文档,相当于集合中的一个具体的文档。
MongoDB简介 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。...一个集合是 chunks, 用于存储文件内容的二进制数据;一个集合是 files,用于存储文件的元数据。...GridFS 会将两个集合放在一个普通的 buket 中,并且这两个集合使用 buket 的名字作为前缀。MongoDB 的 GridFs 默认使用 fs 命名的 buket 存放两个文件集合。...当把一个文件存储到 GridFS 时,如果文件大于 chunksize (每个 chunk 块大小为 256KB),会先将文件按照 chunk 的大小分割成多个 chunk 块,最终将 chunk 块的信息存储在...以下是一个 nodejs 版本的代码: const mongoose = require('mongoose') const fs = require('fs') const Promise = require
1.创建集合 创建集合分为两步,-是对对集合设定规则,二是创建集合,创建mongoose.Schema构造函数的实例即可创建集合。...// mongoose.Schema() 是一个构造函数,要new一个实例对象 //2、设定集合规则 const courseSchema = new mongoose.Schema({ name...= mongoose.model ('Course', courseSchema); //第一个参数是集合名称,第二个是集合规则。...validate: 自定义验证器 default: 默认值 获取错误信息:error.errors['字段名称'].message // 验证规则可以跟两个参数,第二个参数表示自定义错误提示信息...通常不同集合的数据之间是有关系的,例如文章信息和用户信息存储在不同集合中,但文章是某个用户发表的 要查询文章的所有信息包括发表用户,就需要用到集合关联。
Mongoose 有两个特点 1. 通过关系型数据库的思想来设计非关系型数据库。 2. 基于 mongodb 数据库,但简化了操作。...定义 Schema 数据库中的 Schema,为数据库对象的集合,Schema 是 Mongoose 里使用的一种数据模式, 可以理解为表结构的定义,每个 Schema 会映射到 Mongodb 中的一个...传两个参数格式如下: mongoose.model(ModelName,Schema ) 第一个参数ModeName为定义的模型名称,并且会和这个模型名称的复数集合所在的数据库建立连接,并操作这个集合,...var User=mongoose.model('User', UserSchema); 如上面的定义的模型名称叫User,会操作所在数据库中的 users 这个集合。 (2)....传三个参数时格式如下: var User=mongoose.model('User', UserSchema, Collection) 传入三个参数时,前两个参数意思一样,第三个参数为所要操作的集合名称
这个时候产品狗要求我们开发一个文章的喜欢功能:类似“简书”。 只需要在文章中看到喜欢的用户即可,所以是一个单向的关联关系。...'); mongoose.connect('mongodb://127.0.0.1:27017/blog'); 定义一个Schema(也就是Mongodb中的Collections集合),更多字段类型,...说到这里,我们先来说一个其他的问题:“关于Mongodb中两个集合之间的对应关系,设计呢?”...通过查找资料我的总结如下: 如果只需要通过A集合查询B集合,而不需要反过来查询,也就是单向的关系(如文章和评论,只需要展示文章的时候,将其评论展示即可),那么可以在A集合中建立一个子集合B。...如果既需要通过A查询B,又需要通过B查询A(如作者和文章,需要查询某作者下的所有文章,展示文章的时候,有需要展示作者的相关信息),那么可以在子集合中通过一个唯一字段关联父集合。
mysql数据库 -- 关系型数据库--表,字段,行 mongodb数据库 -- 非关系型数据库--集合,域,文档 mongodb的使用步骤: 1.安装 2.指定数据库的安装位置(创建一个文件夹...--dbpath=C:\Users\lx\Desktop\Node\MongoDB\DB 3.再打开一个cmd 4.重复第一步--cd 路径 5.命令--mongo const mongoose...; //创建集合 /* * 语法:new mongoose.Schema() * 参数一:对象, 设置该集合里所需要的域 * 参数二:对象, 指定集合的名字,如果没有...: SQLite 数据库的组成 1.一个数据库系统管理着多个数据库 2.一个数据库中可以存放多张表 3.每张表都有字段(比如姓名, 年龄) 4.表中会有一个特殊的字段(主键), 用于保证数据的唯一性...) 3.改(update) 4.查(select) 注: SQL语句中的关键词, 不区分大小写 一.查询语句 1.查询所有数据 select * from 表名 例如: select * from student
领取专属 10元无门槛券
手把手带您无忧上云