MongoDb查询,管道操作,算术运算,日期处理,与java连接

学习主题:MongoDb
学习目标:
1.掌握mongodb正则查询
2.掌握mongodb聚合查询
3.掌握mongodb管道操作
4.掌握mongodb字符串操作
5.掌握mongodb算术运算
6.掌握mongodb日期处理
7.Java连击MongoDB数据库的方式

1.Mongodb的正则查询?回忆之前的正则知识

i m g w ^ KaTeX parse error: Expected '}', got 'EOF' at end of input: …合名称.find({字段名:{regex:正则表达式[, $options:正则选项]}});
正则表达式格式:/xxx/
正则选项:
i - 不区分大小写以匹配大小写的情况。
m - 对于包含锚点的模式(即^对于开始, KaTeX parse error: Undefined control sequence: \n at position 41: …字符串(可解析单字段中的换行符\̲n̲)。如果没有此选项,这些锚点将…regex 与 o p t i o n s 语 法 s − 允 许 点 字 符 ( 即 . ) 匹 配 包 括 换 行 符 在 内 的 所 有 字 符 。 需 要 options 语法 s - 允许点字符(即.)匹配包括换行符在内的所有字符。需要 optionss.regex 与$options 语法
i,m,x,s 可以组合使用。

2.Mongodb的聚合操作。

如何实现聚合查询,通过______函数完成。
语法格式是:。
$match $group $sort $sum $push KaTeX parse error: Expected '}', got 'EOF' at end of input: …ME.aggregate([{group:{_id:“ 分 组 键 名 " , " 分组键名"," ","分组键名”,…,别名:{聚合运算:"$运算列"}}},{条件筛选:{键名:{运算条件:运算值}}}])
$match :条件筛选
$group :分组,代表聚合的分组条件
$sort :排序
$sum :求和
$push :统计结果返回数组
$unwind :将数组字段拆分显示

3.什么是管道操作。

管道在 Unix 和 Linux 中一般用于将当前命令的输出结果作为下一个命令的参数。
MongoDB 的聚合管道将 MongoDB 文档在一个管道处理完毕后将结果传递给下一个管道处理。管道操作是可以重复的。
管道操作符是按照书写的顺序依次执行的,每个操作符都会接受一连串的文档,对这些文档做一些类型转换,最后将转换后的文档作为结果传递给下一个操作符(对于最后一个管道操作符,是将结果返回给客户端),称为流式工作方式。
管道操作符: m a t c h 、 match、 matchgroup、 s o r t 、 sort、 sortlimit、 s k i p 、 skip、 skipunwind
管道操作符,只能用于计算当前聚合管道的文档,不能处理其它的文档。

4.如何实现聚合投影约束,举例说明。

查询 dev 集合,将数组中的内容拆分显示,并只显示 title 键与 tags 键的值:
db.dev.aggregate([{ u n w i n d : " unwind:" unwind:"tags"},{KaTeX parse error: Expected '}', got 'EOF' at end of input: …t:{_id:0,tags:"tags",title:"$title"}}])

5.字符串操作,回忆数据库中的字符串操作。

将内容变为大/小写
截取汉字和截取非中文是否有区别?
$toLower:将值转换为小写
$toUpper:将值转换为大写
$substr 只能匹配 ASCII 的数据,所以只能截取对应的英文
$substrCP 可以截取中文

6.算术运算符如何使用 语法结构是?

加法 减法 乘法 除法 取模 分别怎么表示
语法结构:
db.dev.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: match:{size:{ne:null}}},{KaTeX parse error: Expected '}', got 'EOF' at end of input: …w_Size:{ 运算符:["size",自定义数字]}}}])
加法: a d d 减 法 : add 减法: addsubtract
乘法: m u l t i p l a y 除 法 : multiplay 除法: multiplaydivide
取模:$mod

7.日期处理

插入日期的方式有几种,分别是。
查询日期的方式有几种,分别是。
显示年月日如何写代码。
显示年月日时分秒如何操作。

插入当前时间 db.dev.insert({date:new Date()})
插入指定日期
方式一:
db.dev.insert({time:new Date(“2018-05-01T14:20:23Z”)})
方式二:
db.dev.insert({time:ISODate(“2019-06-01T16:30:00Z”)})
查询时间
db.dev.find({time:{KaTeX parse error: Expected 'EOF', got '}' at position 35: …5-01T14:20:23")}̲}) 或者 db.dev.fi…gt:new Date(“2018-04-01”)}})
或者
db.dev.find({time:{$gt:ISODate(“2018-04-01”)}})

显示年月日,时分秒毫秒:
db.dev.aggregate([{KaTeX parse error: Expected 'EOF', got '}' at position 21: …:{name:"admin"}}̲,{project:{
年 份 :{ y e a r : " year:" year:"birth"},
月份:{ m o n t h : " month:" month:"birth"},
日:{ d a y O f M o n t h : " dayOfMonth:" dayOfMonth:"birth"},
时:{ h o u r : " hour:" hour:"birth"},
分:{ m i n u t e : " minute:" minute:"birth"},
秒:{ s e c o n d : " second:" second:"birth"},
毫秒:{ m i l l i s e c o n d : " millisecond:" millisecond:"birth"}}}])

8.java连接MongoDB数据的方式有哪些,分别是什么?

1、工具类连接MongoDBUtil
2、认证连接MongoDBAuthUtil
3、池连MongoDBPoolUtil
4、认证池连MongoDBAuthPoolUtil

9.Java操作mongoDB集合

//创建mongodb集合
public static void createCollection(String dbName,String collName){
    MongoDatabase database = getDatabase(dbName);
    database.createCollection(collName);
}
//获取mongodb集合
public static MongoCollection getCollection(String dbName,String collName){
    MongoDatabase database = getDatabase(dbName);
    return database.getCollection(collName);
}


//删除mongodb集合
public static void dropCollection(MongoCollection collection){
    collection.drop();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值