2011-07-20 21 views
2

使用node-mongodb-native驅動程序存儲對ID的引用的最佳方式是什麼?node-mongodb-native:存儲對ID的引用

我目前自己儲存了一個ID,如4e2675b04aa5520000000002。我是否應該存儲ObjectID('4e2675b04aa5520000000002')?

謝謝!

回答

3

如果你的ID實際上是一個mongo ObjectId(意思是「4e2675b04aa5520000000002」實際上就是一個),那麼就其大小和性能而言,將它存儲爲字符串而不是字符串要高效得多。

請注意,實際上是定義以及參照慣例,詳情點擊這裏:http://www.mongodb.org/display/DOCS/Database+References#DatabaseReferences-DBRef

大多數驅動程序可以讓你自動檢索的引用文件,而無需手動不必查詢他們。由於這是行爲,我認爲它通常是首選將ObjectId(「4e2675b04aa5520000000002」)存儲爲您建議的值。

+0

非常感謝。 –

1

你必須使用自己的ID嗎? mongodb爲你創建它們,如果你不提供它們(_id)。如果您必須手動設置它們,請使用ObjectID並將它們保存在_id中。

+0

一般你的驅動程序會爲你創建_id,所以它仍然是生成客戶端的。這實際上是最佳實踐,因爲它會產生更多獨特的標識符。在可能的情況下,mongodb中的ObjectId生成使用機器特定的信息。有關更多詳細信息,請參閱以下內容:http://www.mongodb.org/display/DOCS/Object+IDs –