永发信息网

mongodb的id的数据类型怎么写objectid

答案:2  悬赏:0  手机版
解决时间 2021-02-01 17:51
  • 提问者网友:流星是天使的眼泪
  • 2021-01-31 18:42
mongodb的id的数据类型怎么写objectid
最佳答案
  • 五星知识达人网友:纵马山川剑自提
  • 2021-01-31 19:06
1、前4个字节(即前八位字符串)是一个UNIX时间戳,精确到秒,实际上隐藏了文档创建的时间(将其换算成十进制,再格式化一下即可发现)
2、接下来的3个字节,是所在主机的唯一标识符,一般是机器主机名的散列值,这样就确保了不同主机生成不同的机器hash值,在分布式中不造成冲突,这也就是在同一台机器生成的ObjectId中间的字符串都是一模一样的原因
3、这两个字节PID是为了在同一台机器不同的mongodb进程产生的ObjectId不冲突,即进程标识符
4、前面的字节保证了一秒内不同机器不同进程生成的ObjectId不冲突,最后3个字节,是一个自动增加的计数器,用来确保在同一秒内产生的ObjectId也不会发生冲突
在一个博客项目中,需要通过该_id查询对应的文章信息,在查询语句时,不能直接使用{'_id' : id}这种形式,因为_id是一个ObjectId类型,而你传入的id只是一个字符串,会导致错误,因此,使用{'_id' : ObjectId(id)}这种方式传入字符串id进行查询,当然,需要在之前引入ObjectId()该方法,即var ObjectId = require('mongodb').ObjectId;

[javascript] view plain copy
var ObjectId = require('mongodb').ObjectId;
Post.getOne = function(name, day, title, id, callback){
mongodb.open(function(err, db){
全部回答
  • 1楼网友:怀裏藏嬌
  • 2021-01-31 20:29
mongodb中objectid和objectid.tostring查询有什么区别 urlencode() 返回一个请求字符串格式的数据字符串 (如, "a=2&b=3&b=5" )。 一个完整的例子 例如, 给定这个html表单:
如果用户在 your_name 中输入 "john smith" ,并且在多选框中同时选择了the beatles和the zombies,那么以下就是django的request对象所拥有的:
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯