我正在开发一个使用Codeigniter和MongoDB的API。 在此系统中,我保存所选用户 所遵循的用户的全名和_ID。将_Id存储为MongoDB中的对象或字符串?
关于_Id最好做什么?将它作为一个对象或字符串存储? 如果我把它作为一个对象存储,我需要将它转换为字符串,否则回显跟随者 输出看起来很奇怪。
我的问题是真的。可以将_Id存储为字符串而不是对象吗? 作为字符串存储的缺点是什么?
感谢您的所有意见!
我正在开发一个使用Codeigniter和MongoDB的API。 在此系统中,我保存所选用户 所遵循的用户的全名和_ID。将_Id存储为MongoDB中的对象或字符串?
关于_Id最好做什么?将它作为一个对象或字符串存储? 如果我把它作为一个对象存储,我需要将它转换为字符串,否则回显跟随者 输出看起来很奇怪。
我的问题是真的。可以将_Id存储为字符串而不是对象吗? 作为字符串存储的缺点是什么?
感谢您的所有意见!
objectid对于请求(和更新)的性能确实更好。更重要的是,objectid在太空中相当小。
从官方DOC:
BSON包括用于存储字节数组的二进制数据的数据类型。使用 这会使_id 索引中的id值及其各自的键值缩小两倍。
这里有2个链接,可以帮助你: - http://www.mongodb.org/display/DOCS/Optimizing+Object+IDs - http://www.mongodb.org/display/DOCS/Object+IDs
当您使用ObjectId
时,它会生成_id
作为所有计算机中的唯一值。所以如果你使用Sharding,你不会担心你的冲突_id
。看看ObjectId如何在specification中生成
但是如果你使用字符串,你应该仔细生成它。