如何在没有 _id 的情况下创建 mongodb 集合

How to create mongodb collection without _id

我的项目是建立在 GMONGO 框架上的,所有域都是使用属性 id 创建的,因为 string.So grail 框架工作将创建 mongodb 当应用程序是 app 时具有 _id 属性的集合。 在 UI 中,在服务“_id”中检索 _id.So 存在限制,已将其重写为 "id" 以解决该问题。 我们可以默认使用 "id" 而不是“_id”来创建集合吗?

不,你不能。 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, ...}

希望对您有所帮助。