当前位置: 首页 > news >正文

大连做企业网站排名泰安企业建站公司哪里找

大连做企业网站排名,泰安企业建站公司哪里找,泛华建设集团网站,怎样加入58同城平台服务行业目录 一.基础概念 二.数据库的管理 1.创建数据库 2.删除数据库 二.集合的管理 1.显示所有集合 2.创建集合 3.删除当前集合 4.向集合中插入元素 三.文档的管理 1.文档插入 2.文档的更新 3.文档的删除 4.文档查询 #xff08;1#xff09;查询基本语法#xff1…目录 一.基础概念 二.数据库的管理 1.创建数据库 2.删除数据库 二.集合的管理 1.显示所有集合 2.创建集合 3.删除当前集合 4.向集合中插入元素 三.文档的管理 1.文档插入 2.文档的更新 3.文档的删除 4.文档查询 1查询基本语法 2查询table2集合下的所有文档 3查询table2集合下的所有name为zhangsan的记录 4查询table2集合下name为zhangsan的其中一个记录 5查询结果中的某些列 6and操作 7or操作 8大于小于等于操作 9innot in 10查询空值 11匹配查询 12使用distinct去重 13查询集合中的文档数 四.aggregate() 聚合操作 1管道操作如下 2聚合表达式 3通过实例讲清楚直接看代码 4准备数据 5查询案例以及语句共12个 注意点 一.基础概念 mongodb中基本的概念是文档集合数据库。 MongoDB中的重要概念 序号基本概念说明1database数据库2collection集合也称文档组相当于mysql中的表table3ducument文档相当于mysql表中的行键值对结构BSONbinary二进制4     field 字段也就是mysql表中的列5index索引 关于主键的说明MongoDB自动将_id字段设置为主键。MongoDB不支持表的连接。 一个mongodb可以建立多个数据库一个数据库可以创建多个集合一个集合很总可以有多个文档数据库存储在data中。 二.数据库的管理 1.创建数据库 创建数据库使用关键字use创建并指定当前数据库具体语法如下 # 1.创建数据库例如创建并指定一个school数据库 use databasenameuse school# 2.查看当前数据库 db# 3.查看所有数据库 show dbs 2.删除数据库 # 1.先选中是哪个数据库 use school# 2.删除数据库 db.dropDatabase() 二.集合的管理 集合相当于Mysql中的表结构table. 1.显示所有集合 # 1.显示所有集合表结构 show tables; show collections 2.创建集合 # name是创建的集合名option是可选参数指定有关内存大小及索引的选项 db.createCollection(name,option): 3.删除当前集合 db.school.drop() 4.向集合中插入元素 # 1.向集合中插入单个元素insertOne({k:v}) db.collection001.insertOne({name:jack})# 2.向集合中插入多个元素insertMany({k1:v1},{k2:v2}......) db.collection001.insertOne({name:jack}{age:18}) 三.文档的管理 文档也就是mysql中的行 1.文档插入 每条文档在插入的时候MongoDB都会维护一个_id作为唯一标识_id默认会自动生成。 # 1.插入1行 db.table2.insertOne({name:zhangsan})# 2.插入多行 db.table2.insertMany([ {name:zhangsan,age:15,address:xuzhou}, {name:wangwu,age:20,address:nanj} ])# 3.当然也可以是这种形式的 document ({name:wangwu,age:20,address:nanj,tags:[mysql,oracle],like:100}) db.table2.insertMany([document]) 2.文档的更新 文档的更新都是先查出来再更新。 queryupdate的查询条件类似sql update查询内的where后面的条件 updateupdate的对象和一些更新的操作符也可以理解为sql update查询内set后面的 upsert可选如果不存在update记录是否插入objNewtrue是插入false不插入 multi可选mongodb默认是false只更新找到的第一条记录如果这个参数为true,就把按条件查出来多条记录全部更新  5.0之后是废弃的 writeConcern可选抛出异常的级别 db.collection.update(query, // 相当于where操作update, // 相当于set操作{upsert: boolean,multi: boolean,writeConcern: document} ) 注意语法$set // 先查再更新,$set是set// 更新一条updateOnedb.table3.updateOne({title:Oracle},{$set:{title:MongoDB是NoSQL键-值数据库}}) 3.文档的删除 // 删除集合下的所有文档 db.collection.deleteMany ({})// 删除status等于A的所有文档 db.collection.deleteMany ({ status : A })// 删除status等于D的一个文档 db.collection.delete.One ({ status : D })// 当然也可以根据主键删除 db.table2.deleteOne({_id:ObjectId(64ef1442db2b4f63a830119c)}) 4.文档查询 文档的查询十分重要用的最多。 MongoDB查询文档使用find方法find()方法以非结构化的方式来显示所有文档。 语法 db.集合名称.find({query},....) 等于不等于大于等于大于小于等于小于等看下表 文档查询对比语法 操作格式例子mysql类比语句等于{key:value}db.集合名称.find({name:zhangsan})where namezhangsan不等于{key:{$ne:value}}db.集合名称.find({age:{$ne:18}})where age ! 18小于{key:{$lt:value}}db.集合名称.find({age:{$lt:18}})where age 18小于等于{key:{$lte:value}}db.集合名称.find({age:{$lte:18}})where age 18大于{key:{$gt:value}}db.集合名称.find({age:{$gt:18}})where age 18大于等于{key:{$gte:value}}db.集合名称.find({age:{$gte:18}})where age 18 1查询基本语法 第一个{}放的是where条件第二个放的是显示哪些列或者不显示哪些列列的值设置为0表示不显示设置为1设置为显示。 db.table2.find({},{}) 2查询table2集合下的所有文档 db.table2.find() 3查询table2集合下的所有name为zhangsan的记录 等值查询namezhangsan db.table2.find({name:zhangsan}) 4查询table2集合下name为zhangsan的其中一个记录 db.table2.findOne({name:zhangsan}) 5查询结果中的某些列 默认为00表示不显示1表示显示该列1和0是不能同时用的 相当于select name,address from table2 db.table2.find({},{name:1,address:1}) db.table2.find({name:zhangsan},{name:1,age:1,address:1,by:1}) 6and操作 逗号链接, db.table2.find({name:zhangsan,age:lisi},{name:1,age:1,address:1}) select name,age,address from table2 where name zhangsan and age lisi7or操作 需要在条件前加$or db.table2.find({$or:[{age:lisi},{address:xuzhou}]},{name:1,age:1,address:1}) 8大于小于等于操作 db.table2.find({age:{$gte:11,$lte:100}}) 9innot in db.table2.find({age:{$in:[10,15,20,18,12]}}) 10查询空值 db.table2.find({age:null}) 11匹配查询 // 以zha开头的相当于likezha% db.table2.find({name:/^zha/})// 相当于like%zha% db.table2.find({name:/zha/}) 12使用distinct去重 db.table2.distinct(name) // 相当于select distinct(name) from table2 13查询集合中的文档数 db.table2.count() 四.aggregate() 聚合操作 整个聚合的过程称为管道由多个步骤构成。一个一个的管道也就是聚合的步骤上一个管道操作的结果可以作为下一个管道的初始数据。每一个中间结果都是一个{} 一个管道操作由2分布构成管道操作聚合表达式处理 。 1管道操作如下 $group将集合中的文档分组用于统计结果,_id键对应的值是根据什么分组$match用于过滤数据只输出复合条件的文档$match使用MongoDB的标准查询操作,相当于wherehaving条件来过滤数据的$project修改输入文档的结构可以用来重命名增加或删除域也用于创建计算结果以及嵌套文档。   简单来说选择显示哪些元素0代表不显示1代表显示$limit用来限制MongoDB聚合管道返回的文档数$skip在聚合管道中跳过指定数量的文档并返回余下的文档。 $sort将输入的文档排序后输出1是升序排序-1是降序排序$unwind:将文档中的某个数组类型字段拆分成多条产生多个文档每条包含数组中的一个值 2聚合表达式 $sum计算总和$avg计算平均值$min获取集合中所有文档对应值的最小值$max获取集合中所有文档对应值的最大值$push在结果文档中插入值到一个数组中$first:根据资源文档的排序获取第一个文档数据$last:根据资源文档的排序获取最后一个文档数据 语法一个大括号表示一个管道处理{} db.集合名称.aggregate([ {管道操作1{表达式处理1}}, {管道操作2{表达式处理1}}, {......}]) 3通过实例讲清楚直接看代码 4准备数据 db.persons.insertMany([{name:zhangsan,gender:man,high:180,weight:75,salary:5800,hobby:[basketball,music,money]},{name:lisi,gender:man,high:175,weight:70,salary:6000,hobby:[run,music,money]},{name:wangwu,gender:man,high:178,weight:73,salary:6800,hobby:[video,football,money]},{name:zhaoliu,gender:man,high:160,weight:70,salary:8000,hobby:[video,football,money]},{name:lili,gender:woman,high:160,weight:60,salary:5000,hobby:[video,money]},{name:lingling,gender:woman,high:165,weight:63,salary:6000,hobby:[video,music]},{name:jingjing,gender:woman,high:158,weight:58,salary:5500,hobby:[music,book,run]},{name:cuicui,gender:man,high:178,weight:80,salary:9500,hobby:[video,football,money]},{name:xiaohei,gender:man,high:183,weight:85,salary:6800,hobby:[football,money]} ]) 5查询案例以及语句共12个 注意点 $sum:1 是文档中出现一个符合条件的就1最外部的每个{}是一个管道操作都需要加$_id是根据什么来分组里面再由处理表达式具体处理别忘记加$value取值的时候$name别忘记加$注意value为0,1的操作 // 1.统计出男女生的人数 db.persons.aggregate([{$group:{// _id是根据什么来分组_id:$gender,// 对性别进行分组根据每一组符合条件的出现一个文档1counter:{$sum:1}}} ]) // 2.统计出男女生身高总数 db.persons.aggregate([{$group:{_id:$gender,// 对每一组的符合条件的进行求和counter:{$sum:$high}}} ])// 3.统计出男女生平均身高 db.persons.aggregate([{$group:{_id:$gender,counter:{$avg:$high}}} ])// 4.分别找出男女生第一个出现的人的身高 db.persons.aggregate([{$group:{_id:$gender,firster:{$first:$high}}} ]) db.persons.find()// 5.分别找出男女生最后一个出现的人的身高$first$last只关注的是每组的第一个最后一个 db.persons.aggregate([{$group:{_id:$gender,laster:{$last:$high}}} ]) // 6.分别找出男女生最高的身高 db.persons.aggregate([{$group:{_id:$gender,highest:{$max:$high}}} ]) // 7.分别找出男女生最矮的身高 db.persons.aggregate([{$group:{_id:$gender,lowest:{$min:$high}}} ])// 8.按照男女生分类将身高分别放在数组中 db.persons.aggregate([{$group:{_id:$gender,arr:{$push:$high}}} ])// 9.查询身高160的男女生人数 db.persons.aggregate([{$match:{high:{$gt:160}}},{$group:{_id:$gender,counter:{$sum:1}}} ]) db.persons.find() // 10.查询身高160的男女生人数只输出人数限制输出的字段$project,限制查询字段0是不输出的字段1是输出字段 db.persons.aggregate([{$match:{// high属性的字段high:{$gt:160}}},{$group:{_id:$gender,counter:{$sum:1}}},{$project:{_id:0,counter:1}} ])// 11.将男女生的人数排序输出,counter:1是正序输出-1是倒序输出 db.persons.aggregate([{$group:{_id:$gender,counter:{$sum:1}}},{$sort:{counter:-1}},{$project:{_id:0,counter:1}}])// 12.对男生按照身高进行排序输出3到5名的姓名和身高 db.persons.aggregate([{$match:{gender:man}},{$sort:{high:1}},{$skip:2},{$limit:3},{// 选择显示哪些元素0代表不显示1代表显示$project:{_id:0,name:1,high:1}} ]) ok基本上敲完就知道MongoDB的聚合查询咋回事了
http://www.pierceye.com/news/327323/

相关文章:

  • 网站改版好吗如何解决旅游网站建设问题
  • 爱站网使用的是什么网站模仿网站页面违法吗
  • 做民宿的网站wordpress 短信平台
  • 婚恋网站上认识人 带你做原油交易怎么用手机创造网站
  • 网站建设投标书服务方案范本天津北京网站建设公司
  • 网站建设好评公司微企点建站怎么样
  • 某网站开发项目成本估计推广普通话作文500字
  • 制作网站需要哪些工作网站建设佰金手指科杰十三
  • 外贸哪家做网站wordpress excel搜索
  • 苏州做网站推广的英文搜索网站
  • 政务微网站建设方案深圳市易捷网络科技有限公司
  • 云南网站建设哪家好长沙网站建设营销
  • 四川省建设厅注册中心网站网站管理内容
  • 百度提交网站wordpress广告设置
  • 余姚市城乡建设局网站石家庄上门足疗
  • 深圳工程造价建设信息网站php网站建设题目
  • 龙岗网站制作织梦整合wordpress
  • 代做效果图网站哪家好汉中市建设局网站
  • 东阳海天建设集团网站网站蜘蛛爬行统计
  • asp企业网站cms北京大型网站建设公司
  • 网站要多钱杭州排名优化公司电话
  • 怎么在网站中添加百度商桥南京营销网站建设
  • 沈阳火车站wordpress的vieu主题破解版
  • 食品网站建设 网站定制开发微网站建设的第一步是进行首页的设置
  • 一站式装修公司有哪些500人在线网站建设配置
  • 郴州网站制作哪个网站可以做市场调研报告
  • 劲松网站建设公司做运营需要具备什么能力
  • 企业建设网站是网络营销吗17网站一起做网店新塘
  • 电子书籍网站开发重庆网站建设快速建站
  • 广州 企业网站建设公司网页设计模板