无论你愿不愿意,每条记录都会被自动添加一个类型为ObjectId的唯一标识_id,下面的文章说明了mongodb中的_id包含的所有信息
无论你愿不愿意,每条记录都会被自动添加一个类型为ObjectId的唯一标识_id
据说这个类型可以自定义??不过目前还没看到那部分文档
ObjectId其表现形式类似于4e48e28216989f1c60358afa
其官方解释为
这是一个12字节的数据
01234567891011timemachinepidinc
前四位为unix下的时间戳,4、5、6为机械码,7、8为进程id,最后3位为自增量(或随即值)
这意味着靠_id,就可以得出添加时间、是否为同一机器添加、进程号这类信息,同样意味着它是可以按照时间排序的,可以利用做非skip分页
 
一下就是一个c#中通过_id获得添加时间的例子:
public DateTime AddDate { get { return new DateTime(1970, 1, 1) .Add(new TimeSpan(new ObjectId(Id).Timestamp * 10000000L)); } } 注:unix的时间戳标示一段从1970年到现在的时间差