没关系,在官方论坛上找到了答案,以供进一步参考,我将留下我从那里得到的最终答案。
注意:根据 mongoDB 开发人员的说法,这个答案应该是有效的,但是,我无法让它正常工作,请自行决定使用,如果发生错误,那么,加入错误报告的乐趣!
为了能够将文档添加到没有“_id”字段的集合中,首先我们需要创建一个 Capped Collection,这个 Capped Collection(据推测并且根据文档,这些集合需要设置最大大小)获取文档默认情况下添加时没有“_id”字段,但是在某些情况下,他们可能会添加“_id”字段,在这种情况下,我们将“autoIndexId”指定为 false,这(假设)会覆盖任何默认值并将集合设置为不将“_id”字段设置为索引,以便我们稍后删除它。
所以,回顾一下,第 1 步:
我们创建了一个 Capped Collection:
db.createCollection("cappedcoll", {capped:true, size:100000});
step2:
测试集合以检查它是否确实生成了“_id”字段。
如果它不生成。为什么,你很幸运!恭喜!如果它确实生成。第 3 步:
我们创建一个封顶集合,其中 autoIndexId 字段设置为 false: 第
db.createCollection("cappedcoll", {capped:true, size:100000, autoIndexId:false});
4 步:
我们向集合中添加一个项目,然后通过更新删除“_id”字段:
db.cappedcoll.insert({"names": {"First": "Gonza", "Last": "Vieira"}});
db.cappedcoll.update({"names.First": "Gonza"},{$unset: {"_id":1}});
如果你到达这部分,那么它要么工作,要么你收到一条"cannot modify "_id""
不应该出现的令人讨厌的错误消息,因为我们将“_id”设置为不是集合的索引......
这也意味着你和我处于完全相同的阶段。
祝你好运,我希望他们能尽快解决这个问题,或者这里有人补充这篇文章并纠正我所说的任何错误。