0

我的项目是在 GMONGO 框架上构建的,所有域都是使用属性 id 作为字符串创建的。所以当应用程序是应用程序时,grail 框架将创建具有 _id 属性的 mongodb 集合。在 UI 中检索 _id 存在限制。因此在服务中“_id”被重写为“id”以克服该问题。我们可以默认使用“id”而不是“_id”创建集合吗?

4

1 回答 1

2

不,你不能。如果你没有指定,Mongo 会自动创建 _id。

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

在您的情况下,您可以添加indexid字段,并且在运行查询时只需添加投影以排除 _id。

所以你会在数据中有这样的东西

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

并像这样运行查询

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

你会得到这个结果

{id: yourId, ...}

希望这可以帮助。

于 2017-01-28T12:33:17.370 回答