気にしないで、公式フォーラムでこれに対する答えを見つけました。さらに参照するために、そこから得た最終的な答えを残しておきます。
注: mongoDB 開発者によると、この回答は機能すると思われますが、適切に機能させることができませんでした。自分の裁量で使用してください。何か問題が発生した場合は、バグ レポートの楽しみに参加してください。
「_id」フィールドなしでドキュメントをコレクションに追加できるようにするには、最初に Capped Collection を作成する必要があります。この Capped Collection (おそらくドキュメントによると、これらのコレクションには最大サイズを設定する必要があります) はドキュメントを取得します。デフォルトでは「_id」フィールドなしで追加されますが、状況によっては、とにかく「_id」フィールドが追加される可能性があります。この場合、「autoIndexId」を false として指定します。これは (おそらく) デフォルトを上書きし、コレクションを not に設定します。 「_id」フィールドをインデックスとして設定し、後で削除できるようにします。
要約すると、ステップ 1:
Capped Collection を作成しました。
db.createCollection("cappedcoll", {capped:true, size:100000});
ステップ 2:
コレクションをテストして、実際に「_id」フィールドを生成しているかどうかを確認します。
発生しない場合。なぜ、あなたは幸運です !おめでとう!生成する場合。ステップ 3:
autoIndexId
フィールドを false に設定して Capped Collection を作成します: ステップ 4: コレクション
にアイテムを追加し、更新によって「_id」フィールドを削除します:
db.createCollection("cappedcoll", {capped:true, size:100000, autoIndexId:false});
db.cappedcoll.insert({"names": {"First": "Gonza", "Last": "Vieira"}});
db.cappedcoll.update({"names.First": "Gonza"},{$unset: {"_id":1}});
この部分に到達すると、それが機能するか、"cannot modify "_id""
「_id」をコレクションのインデックスに設定しないため、表示されないはずの厄介なエラーメッセージが表示されます...
これは、あなたが私とまったく同じ段階にいることも意味します。
頑張ってください。彼らがすぐにこれを修正するか、誰かがこの投稿を補足して、私が間違ったことを言ったことを修正してくれることを願っています.