springboot集成mongoDB高级聚合查询,关联查询

目录

mongoDB的常用操作符

mongoDB的聚合管道符号

比较操作符

逻辑运算符?

注意注意注意?

数学运算符

mongoDB案例

? ? ? ? 插入测试数据

?mongodb的阶段操作符号

???关联查询

springBoot整合mongoDB

? ? ? ? pom依赖

? ? ? ? ?yml配置

java代码案例


mongoDB的常用操作符

mongoDB的聚合管道符号

db.collection.aggregate( [ { }, … ] )

使用aggregate()方法来构建和使用聚合管道。

比较操作符

  • $eq“=” 等于
  • $gt “>” 大于
  • $gte”>=“ 大于等于
  • $lt “<” 小于
  • $lte ”<= “小于等于
  • $ne ”!="不等于
  • $in 相当于MySQL的in
  • $nin相当于MySQL的nin

案例:db.<****CollectionName**>.find(**{ <field>: { $gt: <value> } })

逻辑运算符

  • $or OR或相当于MySQL的OR

案例:

db.<****CollectionName**>**.find({ KaTeX parse error: Undefined control sequence: \[ at position 4: or:\̲[̲{<field\>:{ lt:<value>}},{<field>:<value>}], <field>:<value>})

  • limit 跳过指定数量的文档

  • skip 查询指定数量的文档

案例:

db.<****CollectionName**>**.find({}).skip(20).limlit(20)

注意注意注意

1. 区间查询

假如说我们查询一个年龄大于等于30,小于等于60的一定要采用 $and逻辑符号,这样查询;

正确案例:

db.<****CollectionName**>**.find({ KaTeX parse error: Undefined control sequence: \[ at position 4: and\̲[̲{age:{ gte:30}},{age:{$lte:60}}]})

或者:

db.<****CollectionName**>**.find({age:{ g t e : 30 , gte:30, gte:30,lte:60}})

错误案例:(这种他不是区间查询,age大于等于30和小于等于60的都会查询出来)

db.<****CollectionName**>**.find({age:{ KaTeX parse error: Expected 'EOF', got '}' at position 7: gte:30}̲,age:{ lte:60}})

2.NumberLong类型强转

Mongo的NumberLong类型查询要强转。

假如说我们age字段是NumberLong类型的。查询的时候需要强转一下,不然呢查询不到

正确案例

db.heartBpmHistory.find({age:{ g t e : N u m b e r L o n g ( ′ 3 0 ′ ) , gte:NumberLong('30'), gte:NumberLong(

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值