2017-01-28 48 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。希望这可以帮助。 –

相关问题