时间:2021-07-01 10:21:17 帮助过:20人阅读
- 5f09c177 //时间戳
- 9a5b2a //机器标识码
- 836d //进程id
- 9000b3 //随机数(自动增加的计数器)
因为 ObjectId 中存储了时间戳,所以可以直接从中获取时间信息:
- ObjectId(<span style="color: #800000;">"</span><span style="color: #800000;">5f09c1779a5b2a836d9000b3</span><span style="color: #800000;">"</span>).getTimestamp() //获取时间信息
也可以再进行获取年月日时分秒信息,如下:
- 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>
查询条件在很多地方都可以用到,比如 find() | findOne() | update() | remove | aggregate() 里的 $match 等
1. 比较大小:
例:
- db.grades.<span style="color: #0000ff;">find</span>({English:{$gt:<span style="color: #800080;">90</span>}}) //查询英语成绩大于90的数据
2. and 和 or
- 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 条件并列查询
- 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)
- db.grades.<span style="color: #0000ff;">find</span>({name:/J/}) //模糊查询名字中含字母"J"的数据
mongoDB的ObjectId和查询条件
标签:比较 pid 部分 地方 组成 默认 等于 mamicode 作用