如何在没有 _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, ...}
希望对您有所帮助。
我的项目是建立在 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, ...}
希望对您有所帮助。