{ "_id" : ObjectId("4c2209f9f3924d31102bd84a"), "name" : "mongo" }
objectId究竟是什么目的?这是使用时间戳生成的大数字。
如果我看到任何nosql是键值,我用键查询值。
这里我们使用key和value作为数据并使用find()函数。
所以,我想知道什么时候我们真的需要objectid? 授予用户访问权限以查看对象ID值的原因是什么?
阅读文档后,一个基本问题是mongo DB作为哈希表类型实现吗?
答案 0 :(得分:6)
准备好doc ..一个基本问题是mongo DB作为哈希表类型实现吗?
MongoDB使用BSON,一种二进制形式的JSON。 JSON对象基本上只是一个“哈希表”或一组键/值对。
究竟对象id的用途是什么?这是一个随时间生成的大数字。
在MongoDB中,您存储的每个文档都必须有_id
。如果您没有为_id
设置值,那么MongoDB会自动为您生成一个值。如果在插入对象时有唯一键,则可以使用该键。有关ObjectId的详细信息,请参阅here。
如果我看到任何nosql是键值,我用键查询值。
MongoDB不仅仅是键值。 MongoDB支持单个集合上的多个索引,您可以在许多不同的字段上查询,而不仅仅是“key”或“id”。
答案 1 :(得分:1)
对象ID类似于RDBMS中的主键 每当您插入新文档时,mongodb都会生成对象ID。
对象ID是12字节的BSON类型。
前4个字节表示时间戳 下一个3字节唯一机器标识符 下一个2字节的进程ID 下一个3字节随机增量计数器
返回等效的16位十六进制