猿问

mongodb数据中_id疑问

mongodb在创建数据时每一条都会自动创建_id,但是_id为什么可以互相进行比较,像这样:

db.users({'_id':{$lt:id}})
//id为某一条数据_id

这些_id打印出来像这样:59a8ceae00953903081900ee,59a8ceae00953903081900eb,在看一些mongodb学习资料时,通常是这样使用比较操作:

db.users({'age':{$lt:20}})

都有具体的值进行筛选比较,但是_id之间也可以比较,另外_id可不可以传给前台用,有什么不妥?


呼唤远方
浏览 1048回答 2
2回答

撒科打诨

这个_id是这条数据的索引,是由 TimeStamp(时间撮) Machine(主机的唯一标识符) pid(确保同一秒不同) increment(自增计数器) 依次排列组成 最后转成十六进制的.所以完全可以用来进行大小比较可以传给前端,用来做资源的唯一标识符(例如某一个user)
随时随地看视频慕课网APP

相关分类

MongoDB
我要回答