当前位置:Gxlcms > 数据库问题 > mongoDB的ObjectId和查询条件

mongoDB的ObjectId和查询条件

时间:2021-07-01 10:21:17 帮助过:20人阅读

5f09c1779a5b2a836d9000b3") //5f09c177 9a5b2a 836d 9000b3
  1. 5f09c177 //时间戳
  1. 9a5b2a //机器标识码
  1. 836d //进程id
  1. 9000b3 //随机数(自动增加的计数器)

因为 ObjectId 中存储了时间戳,所以可以直接从中获取时间信息:

  1. ObjectId(<span style="color: #800000;">"</span><span style="color: #800000;">5f09c1779a5b2a836d9000b3</span><span style="color: #800000;">"</span>).getTimestamp() //获取时间信息

技术图片

 也可以再进行获取年月日时分秒信息,如下:

技术图片

  1. ObjectId(<span style="color: #800000;">"</span><span style="color: #800000;">5f09c1779a5b2a836d9000b3</span><span style="color: #800000;">"</span>).getTimestamp().getFullYear() //年<br>ObjectId("5f09c1779a5b2a836d9000b3").getTimestamp().getMonth() //月,注意这里的月份是从0开始的(0-11),所以实际使用时可能需要加1<br>ObjectId("5f09c1779a5b2a836d9000b3").getTimestamp().getDate() //日<br>ObjectId("5f09c1779a5b2a836d9000b3").getTimestamp().getHours() //时,注意这里的加了8<br>ObjectId("5f09c1779a5b2a836d9000b3").getTimestamp().getMinutes() //分<br><em id="__mceDel"><em id="__mceDel">ObjectId("5f09c1779a5b2a836d9000b3").getTimestamp().getSeconds() //秒</em></em>

二、查询条件(query)

查询条件在很多地方都可以用到,比如 find() | findOne() | update() | remove | aggregate() 里的 $match 等

1. 比较大小:

  • (>) 大于 - $gt
  • (<) 小于 - $lt
  • (>=) 大于等于 - $gte
  • (<= ) 小于等于 - $lte
  • (=) 等于 - $eq
  • (!=) 不等于 - &ne

例:

  1. db.grades.<span style="color: #0000ff;">find</span>({English:{$gt:<span style="color: #800080;">90</span>}}) //查询英语成绩大于90的数据

技术图片

 2. and 和 or

  1. db.grades.<span style="color: #0000ff;">find</span>({$and:[{English:{$gt:6<span style="color: #800080;">0</span>}},{name:<span style="color: #800000;">"</span><span style="color: #800000;">Bob</span><span style="color: #800000;">"</span>}]}) //and 条件并列查询

技术图片

  1. db.grades.<span style="color: #0000ff;">find</span>({$or:[{English:{$gt:<span style="color: #800080;">60</span>}},{name:<span style="color: #800000;">"</span><span style="color: #800000;">Bob</span><span style="color: #800000;">"</span>}]}) <em id="__mceDel">//or</em> 条件或查询

技术图片

 3. 正则查询(Regex)

  1. db.grades.<span style="color: #0000ff;">find</span>({name:/J/}) //模糊查询名字中含字母"J"的数据

技术图片

 

mongoDB的ObjectId和查询条件

标签:比较   pid   部分   地方   组成   默认   等于   mamicode   作用   

人气教程排行