我的项目是在 GMONGO 框架上构建的,所有域都是使用属性 id 作为字符串创建的。所以当应用程序是应用程序时,grail 框架将创建具有 _id 属性的 mongodb 集合。在 UI 中检索 _id 存在限制。因此在服务中“_id”被重写为“id”以克服该问题。我们可以默认使用“id”而不是“_id”创建集合吗?
问问题
2569 次
1 回答
2
不,你不能。如果你没有指定,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, ...}
希望这可以帮助。
于 2017-01-28T12:33:17.370 回答