标签:比较 pid 部分 地方 组成 默认 等于 mamicode 作用
在插入数据时,mongoDB 会自动生成"_id",默认生成的"_id"属于 ObjectId 对象,作用类似于身份证号用来标识每一条数据。
ObjectId 是一个12字节(16进制) BSON 类型数据,格式分四部分组成4|3|2|3:
例如:ObjectId("5f09c1779a5b2a836d9000b3") //5f09c177 9a5b2a 836d 9000b3
5f09c177 //时间戳
9a5b2a //机器标识码
836d //进程id
9000b3 //随机数(自动增加的计数器)
因为 ObjectId 中存储了时间戳,所以可以直接从中获取时间信息:
ObjectId("5f09c1779a5b2a836d9000b3").getTimestamp() //获取时间信息
也可以再进行获取年月日时分秒信息,如下:
ObjectId("5f09c1779a5b2a836d9000b3").getTimestamp().getFullYear() //年
ObjectId("5f09c1779a5b2a836d9000b3").getTimestamp().getMonth() //月,注意这里的月份是从0开始的(0-11),所以实际使用时可能需要加1
ObjectId("5f09c1779a5b2a836d9000b3").getTimestamp().getDate() //日
ObjectId("5f09c1779a5b2a836d9000b3").getTimestamp().getHours() //时,注意这里的加了8
ObjectId("5f09c1779a5b2a836d9000b3").getTimestamp().getMinutes() //分
ObjectId("5f09c1779a5b2a836d9000b3").getTimestamp().getSeconds() //秒
查询条件在很多地方都可以用到,比如 find() | findOne() | update() | remove | aggregate() 里的 $match 等
1. 比较大小:
例:
db.grades.find({English:{$gt:90}}) //查询英语成绩大于90的数据
2. and 和 or
db.grades.find({$and:[{English:{$gt:60}},{name:"Bob"}]}) //and 条件并列查询
db.grades.find({$or:[{English:{$gt:60}},{name:"Bob"}]}) //or 条件或查询
3. 正则查询(Regex)
db.grades.find({name:/J/}) //模糊查询名字中含字母"J"的数据
标签:比较 pid 部分 地方 组成 默认 等于 mamicode 作用
原文地址:https://www.cnblogs.com/yh2020/p/13289995.html