Excel函数之VLookup进阶一: VLookup的逆向查询引用和多条件查询引用 【知识点】 ◆函数的语法规则如下: VLOOKUP(lookup_value,table_array,col_index_num...函数是从左往右查询引用的 【问题】 能不能从右往左逆向查询引用呢?...能不能多条件查询引用呢?...【实例】 ◆实例1,VLookup的逆向查询引用 代码: F2输入 =VLOOKUP(F3,IF({1,0},C2:C11,B2:B11),2,0) 这是数组公式 注意:按ctrl+shift+enter...通过if及{1,0}数组,姓名和班级调换了前后顺序,在内存中重新组合成一个新的区域然后在“姓名+班别”的数据区域中由姓名查询第2列的班别 ◆实例2,VLookup的多条件查询引用 代码: H18中输入
“依赖(lib)”、“库目录(Libs)”、“包含目录(include)”和“引用动态链接库(dll)” 现在正值筒子们做毕设,但是以前项目经验少的同学会遇到一些配置的问题。...针对单个项目的方法 ---- 添加编译所需要依赖文件(lib) [解决方案资源管理器]项目->属性->配置属性->连接器->输入->附加依赖项里填写***.lib,多个 lib 以空格隔开。...添加包含文件目录(include) [解决方案资源管理器] 项目->属性->配置属性->C/C++->常规->附加包含目录 步骤可以参考上图。...注意,经常用到的库和头文件才会用这种方式配置。 添加包含文件目录(include) [菜单]工具->选项->项目和解决方案->C++ 目录,选择对应平台,然后添加所需包括文件目录 步骤可以参考上图。...注意,经常用到的库和头文件才会用这种方式配置。 关于dll的放置问题 ---- 如果一个项目依赖的运行依赖一些特殊的dll,则会牵扯到dll的放置问题。
1.2 准备工作 1.首先你必须安装MongoDB和NodeJS 2.在项目只能够创建一个数据库连接,如下: var mongoose = require('mongoose'); //引用...Model和Entity都有能影响数据库的操作,但仍有区别,后面我们也会做解释 二、新手指引 如果您还不清楚Mongoose是如何工作的,请参看第一章快速通道快速浏览他的用法吧 1....JSON对象,不能是由Model创建的实体,原因是:由Model创建的实体krouky虽然打印是只有{name:'krouky'},但是krouky属于Entity,包含有Schema属性和Model数据库行为模型... 如果children是parent的子文档,可以通过如下方法查询到children var child = parent.children.id(id); 4.2 新增、删除、更新 子文档是父文档的一个属性...,因此按照属性的操作即可,不同的是在新增父类的时候,子文档是会被先加入进去的。
利用pom管理引用包时,如果是单项目的话就直接在dependencies引用了,若有一个大工程项目里面包含多个子模块,则为了所有项目模块包的版本统一和好管理,则需要用到dependencyManagement...dependencies dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)。...dependencyManagement dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。...如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;这样就可以统一全部项目的版本号...; 另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。
该 versionKey 是每个文档首次创建时,由 mongoose 创建的一个属性。包含了文档的内部修订版。此文档属性是可配置的。默认值为__v。...这里我主要说一下versionKey和timestamps: versionKey(上文有提到) 是 Mongoose 在文件创建时自动设定的。这个值包含文件的内部修订号。...字段(也称为查询“投影”),必须同时指定包含或同时指定排除,不能混合指定,_id除外。...在 mongoose 中有两种指定方式,字符串指定和对象形式指定。 字符串指定时在排除的字段前加 - 号,只写字段名的是包含。...看完Models,最后让我们来看下在实战中比较有用的Populate 联表(Populate) Mongoose 的 populate() 可以连表查询,即在另外的集合中引用其文档。
,有两种可行的方案,使用 Mongoose 的 virtual 结合 populate 和 MongoDB 原生提供的 Aggregate 里面的 $lookup 阶段来实现。...文档内嵌与引用模式 MongoDB 是一种文档对象模型,使用起来很灵活,它的文档结构分为 内嵌和引用 两种类型。...引用模型是一种规范化的数据模型,通过主外键的方式来关联多个文档之间的引用关系,减少了数据的冗余,在使用这种数据模型中就要用到关联查询,也就是本文我们要讲解的重点。...图片来源:mongoing[1] 引用模型示例 JSON 模型 我们通过作者和书籍的关系,一个作者对应多个书籍这样一个简单的示例来学习如何在 MongoDB 中实现关联非 _id 查询。...,经过 lookup 阶段的处理,输出的新文档中会包含一个新生成的数组列。
Node原生的MongoDB驱动更容易 #使用Mongoose 下载安装mongoose模块 cnpm install mongoose --save 引用mongoose: var mongoose...我们想要操作MongoDB数据,那就得先要具备上面所说的包含数据的“文档”,文档又是什么意思呢,请看如下介绍。...}else{ throw err; } }); #mongoose 插入和查询 mongoose查找数据的一些方法: https://mongoosejs.com/docs/api.html...err){ console.log(data) }else{ throw err; } }) 在find()中 skip(查询开始的位置)和limit(增加的条数...#Entity Entity—— 由Model创建的实体,使用save方法保存数据,Model和Entity的操作都能影响数据库的操作,但Model比Entity更具操作性。
编辑手记:在12.1及以前的版本中,当祖父,父,子表之间有明显的主键和引用完整性约束,只有加入的主键是单个列键时,才能进行连接消除; 但在12.2多列主键也允许发生连接消除,优化器从内联视图中删除父对象...我当时使用的SQL语句如下: ? 正如你接下来将看到的三个表,祖父,父,子有明显的主键和引用完整性约束。 这意味着祖父项具有单列主键,父项具有双列主键,子项具有三列主键。...在早期版本的Oracle连接中,只有当加入的主键是单个列键时,才能进行消除,因此12.1和更早版本将只能从此三表连接中消除祖父项; 但在12.2多列主键也允许发生连接消除,所以我们可能希望我们从这个查询中获得的计划将消除祖父母表和父表...注意: 如果想知道从Oracle语法切换到ANSI语法是否会有所不同,说明如下:使用ANSI语法,如果SQL按照 grandparent - > parent - > child的顺序列出表,祖父项和父项都会被删除...然后优化器优化内联查询,消除祖父级在父级和子级之间留下联接,最后才允许父级被删除。 但我们得到的结果如下: ?
二 、 dependencyManagement 和 dependencies 的区别 1 ) dependencies:自动引入声明在dependencies里的所有依赖,并默认被所有的子项目继承...如果项目中不写依赖项,则会从父项目继承(属性全部继承)声明在父项目dependencies里的依赖项。...如果不在子项目中声明依赖,是不会从父项目中继承的; 只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom; 如果子项目中指定了版本号,...同时dependencyManagement让子项目引用依赖,而不用显示的列出版本号。...resources:用于包含或者排除某些资源文件。 testResources:定义和resource类似,只不过在test时使用。
前言 上篇文章阐述了mongoose的scheme和model基础知识,有了上面的认知,我们开始下面的一系列骚操作,亲爱滴小伙伴们准备好了吗?.../connection"); 首先我们需要启动数据库,然后把mongoose库和connection引入,为我们连接数据库做准备。...创建集合 定义UserScheme的数据结构和类型。...条件 符号 大于 gt 小于 lt 大于等于 ge 不等于 ne 包含 in 大于gt查询 (async function(){ let doc = await UserModel.find...使用了一个ref的类型是引用的User模型 (async function(scoreId){ let score = await Score.findById(scoreId).populate
通常会在一个组织或者项目的最顶层的父POM 中看到dependencyManagement 元素。...使用pom.xml 中的dependencyManagement 元素能让所有在子项目中引用一个依赖而不用显式的列出版本号。...[在这里插入图片描述] 这样做的好处就是:如果有多个子项目都引用同一样依赖,则可以避免在每个使用的子项目里都声明一个版本号,这样当想升级或切换到另一个版本时,只需要在顶层父容器里更新,而不需要一个一个子项目的修改...如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom; 如果子项目中指定了版本号...,那么会使用子项目中指定的jar版本。
,通常会在一个组织或者项目的最顶层的父POM中看到dependencyManagement元素。...使用pom.xml中的dependencyManagement元素能让所有子项目中引用一个依赖而不用显示的列出版本号。...:如果有多个子项目都引用同一个依赖,则可以避免在每个使用的子项目里都声明一个版本号,这样当想升级或者切换到另一个版本时,只需要在顶层父容器里更新,而不需要一个一个子项目的修改;另外如果某个子项目需要另外的一个版本...如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom; 如果子项目中指定了版本号...,那么会使用子项目中指定的jar版本。
MongoDB在3.2以上的版本有类似于 join 的 $lookup 聚合操作符,其实 Mongoose 有一个更强大的替代方法,叫做populate ( ),它允许你在其他集合中引用文档,实现更简洁优雅的查询操作...业务需求如下:查询文章信息,并显示文章的分类以及文章的作者信息,下面用 populate 来实现这个查询需求。 1....String, unique: true }, // 分类ID cid: { type: Schema.Types.ObjectId, // 引用文章分类的模型...执行查询操作 // 注意使用 populate 需要引入用到的 model var ArticleCateModel=require('....,在 exec( ) 的回调方法中获取查询的结果。
DependencyManagement 和 Dependencies Maven 使用 dependencyManagement 元素来提供了一种管理依赖版本号的方式。...通常会在一个组织或者项目的最顶层的父 POM 中看到 dependencyManagement 元素。...使用 pom.xml 中的 dependencyManagement 元素能让所有在子项目中引用个依赖而不用显式的列出版本量。...:如果有多个子项目都引用同一样依赖,则可以避免在每个使用的子项目里都声明一个版本号,这样当想升级或切换到另一个版本时,只需要在顶层父容器里更新,而不需要一个一个子项目的修改;另外如果某个子项目需要另外的一个版本...如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且 version 和 scope 都读取自父 pom。
对象, 在构建脚本中通过project(‘:sub-project-name’)来引用子项目对应的 Project 对象。...1.2共享配置 在大型 Java 项目中,子项目之间必然具有相同的配置项。我们在编写代码时,要追求代码重用和代码整洁;而在编写 Gradle 脚本时,同样需要保持代码重用和代码整洁。...在父项目的build.gradle脚本里,可以通过给allprojects传一个包含配置信息的闭包, 来配置所有项目(包括父项目)的共同设置。...subprojects:subprojects 和 allprojects 一样,也是父 Project 的一个属性,该属性会返回所有子项目。...在父项目的 build.gradle 脚本里,给 subprojects 传一个包含配置信息的闭包,可以配置所有子项目共有的设置,比如共同的插件、repositories、依赖版本以及依赖配置: subprojects
目标是是开发一个列表和查询的页面 model层 配置 新建models文件夹,抽取配置: // config.js module.exports = { url: "mongodb://localhost...// 数组$all,$elemMatch,$size col.insertOne({..., tags: ["热带", "甜"]}) // 插入带标签数据 // $all:查询指定字段包含所有指定内容的文档...Keystone是以Express和MongoDB和mongoose为基础搭建的开源的Node.js CMS和web应用程序平台。...之所以出此狂言,背后还是有料的,Keystone自带以下功能: 内置Express.js和MongoDB 动态路由 实用的数据库域类型 自动生成管理员界面 基于数据模型的表单处理 会话管理和认证功能 keystone...最牛逼的地方就是根据你定义的模型自动帮你实现后台管理界面,创建、管理、编辑和删除等,这得省掉很多功夫了。
中管理 Database为了能让初次接触的人更好的上手,官方提供了各种模版以供新人使用,这些模版包含了生活工作的各个方面:图片自动关联创建我们常会用到父子式的树状结构(一个父项关联多个子项,每个子项仅关联一个父项...),例如 项目-任务,父任务-子任务,课程-笔记……这种情况下我们可以在父项内建立子项所在的链接数据库。...设置筛选条件为关联父项,即可在这个链接数据库内新建条目时自动关联该父项。通过数据库模板,我们可以快速为父项增加这样的数据库链接。...此外,在子项的数据库中,也可以通过按关联属性分组,方便地在某个父项分组下新建子项创建方法:新建项目数据库和任务数据库新建关联属性,关联这两个数据库和下载(体验不是很好,且有最大文件5M的限制),遇到大文件就没辙了;这种个人使用的商业笔记软件,本就存在隐私泄漏风险,如果引用本地资源还要进行文件的上传,我是觉得 1.
以往开发项目时,程序员往往需要花较多的精力在引用Jar包搭建项目环境上,而这一项工作尤为艰难,少一个Jar包、多一个Jar包往往会报一些让人摸不着头脑的异常。...,Maven会把直接引用和简洁引用的Jar包都下载到本地。...在聚合多个项目时,如果这些被聚合的项目中需要引入相同的Jar,那么可以将这些Jar写入父pom中,各个子项目继承该pom即可。 如何实现继承?...--父项目的坐标。如果项目中没有规定某个元素的值,那么父项目中的对应值即为项目的默认值。 坐标包括group ID,artifact ID和 version。...Maven首先在构建当前项目的地方寻找父项 目的pom,其次在文件系统的这个位置(relativePath位置),然后在本地仓库,最后在远程仓库寻找父项目的pom。
什么是 GraphQL GraphQL 是一款由 Facebook 主导开发的数据查询和操作语言, 写过 SQL 查询的同学可以把它想象成是 SQL 查询语言,但 GraphQL 是给客户端查询数据用的...中一个对象可以包含各种 key,在 GraphQL 中,type 里面同样可以包含各种字段(field),而且字段类型不仅仅可以是标量类型,还可以是 Schema 中定义的其他 type。...在这里还要注意一点,type Query, Query 类型是 Schema 中所有 query 查询的入口,类似的还有 Mutation 和 Subscription,都作为对应操作的入口点。...运用前面所学的知识,我们可以很快的编写出一个简单的 Schema 提供查询演员信息和电影信息的接口。 type Movie { name: String! desc: String!...回忆前面的数据模型定义,里面的 movies 和 actors 字段是一组另一个集合中数据的引用,目的是方便建立电影和演员信息之间的关系以及维护,在 Resolver 运行之后,movies 和 actors
Mongoose高级用法 关联关系的建立 大家会发现dhHelper中userSchema和articleSchema是有对应关系的(具体的说是“一对多的关系”),那么这个对应关系是怎么设计的呢?...通过查找资料我的总结如下: 如果只需要通过A集合查询B集合,而不需要反过来查询,也就是单向的关系(如文章和评论,只需要展示文章的时候,将其评论展示即可),那么可以在A集合中建立一个子集合B。...这样的查询速度是最快的。...如果既需要通过A查询B,又需要通过B查询A(如作者和文章,需要查询某作者下的所有文章,展示文章的时候,有需要展示作者的相关信息),那么可以在子集合中通过一个唯一字段关联父集合。...', updatedAt: 'updated_at'}); 其中createdAt和updatedAt是固定的key,created_at和updated_at是对应的字段名字。
领取专属 10元无门槛券
手把手带您无忧上云