我正在開發一個使用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中生成
但是如果你使用字符串,你應該仔細生成它。