2012-02-10 38 views
5

是否有可能將ObjectId字段名稱從'_id'更改爲'id'或其他內容?是否可以在MongoDB中配置ObjectId默認字段的名稱?

我一直在尋找文檔,到目前爲止還沒有發現任何關於此。 我在服務器上使用MongoDB和pymongo(python驅動程序),在那裏我將提供JSON對象,並且我在客戶端上使用的js庫期望帶有'id'字段的對象。

回答

3

數據庫將始終預期或添加一個「_id」字段,但在某些情況下,您實際上可以從客戶端屏蔽該字段。

查看SONmanipulatorsreferences。您可以在插入文檔時對文檔進行轉換,並提取它們以動態更改「_id」字段,使其看起來好像是「id」字段。但是,請注意,這隻會轉換文檔 - 不是查詢:findOne({「id」:「1234567890」})找不到任何內容,因爲數據庫中並不存在「id」字段。

您將不得不自己決定這是否是您的用例的好主意。

3

我不這麼認爲。每個創建的文檔都會自動創建_id字段。如果你想使用其他類似整數值的東西,你可以創建一個不同的id字段。

+0

你說得對。你不能改變它。 – Barrie 2012-02-10 18:40:33

+0

那麼,他不能,除非他重新編譯mongo :-) – 2012-02-11 08:38:26

相關問題