2017-01-28 26 views
0

我的項目建立的MongoDB集合是建立在GMONGO框架,所有的結構域具有屬性ID作爲string.So大盤框架的工作將建立的MongoDB的集合與_id屬性,當應用程序是創建。 在用戶界面中有一個限制來檢索_id.So在服務中,「_id」被重寫爲「id」來解決問題。 默認情況下我們是否可以創建帶有「id」的集合而不是「_id」?如何在沒有_id

回答

1

不,你不能。如果你不指定任何東西,Mongo會自動創建_id。

https://docs.mongodb.com/v3.2/reference/glossary/

在你的情況,你可以添加到index領域id,並運行查詢時,只需添加投影排除_id。

所以你將不得不在數據像這樣

{_id: mongoDbID, id: yourId, ...}

和運行這樣的查詢

collection.find({id: yourId}).project({_id: 0}).toArray();

你會得到這樣的一個結果

{id: yourId, ...}

希望這會有所幫助。

+0

如果您沒有在域中定義id,將創建_id,但是我在我的域中定義了id屬性,即使mongo正在創建_id而不是id。我的要求是得到一個關鍵的gson客觀是id不_id – Raj

+0

有沒有什麼辦法可以創建id而不是_id? – Raj

+0

我回答說你不能。這就是mongo的工作原理。你可以選擇另一個數據庫,或者只是不關心繫統中的_id。希望這可以幫助。 –

相關問題