如果我有一个包含多个MongoS实例的MongoDB分片群集,那么_id中的ObjectID是否会在我写入的MongoS中一致?
例如,如果我从MongoS#1写入一些数据并且_id正常上升,如果我使用MongoS#2写入,那么这些_id也会与其他写入一致吗?
看作ObjectID的一部分是基于机器哈希和进程ID,我无法看到这将对ObjectID进行排序将是无用的。正确的吗?
这里的推荐是什么?
答案 0 :(得分:0)
如何生成ObjectId可以让您对查询有一个全面的了解。
如果您在mongo控制台中键入此内容,
new ObjectId()
您会将ObjectId示例值视为
ObjectId("558bf61f9f49f303f72dd59b")
现在,让我们休息一下,看看mongo是如何生成这个的。 558bf61f 9f49f3 03f7 2dd59b
http://api.mongodb.org/libbson/current/bson_oid_t.html
所以,当然,无论你与之相关联的mongos,随着时间的推移它只会按升序排列(因为第一点),其他点确保它始终是唯一的数字。希望它澄清你的怀疑。
- $