2017-06-05 3 views
0

MongoDBにはまったく新しいものがあります。ドキュメントを参照してください。文書は_idフィールドを指定しない場合https://docs.mongodb.com/manual/reference/method/db.collection.insert/#id-field
からmongodbにデフォルトのObjectIDを作成するにはどうすればよいですか?

、その後、MongoDBは_idフィールドを追加し、挿入する前に文書のためのユニークなのObjectIdを割り当てます。ほとんどのドライバはObjectIdを作成して_idフィールドを挿入しますが、mongodは_idを作成し、ドライバまたはアプリケーションに_idを設定しません。

ここで、MongoDBは_idを作成します。挿入時にhttps://docs.mongodb.com/manual/reference/method/db.collection.save/?_ga=2.24854906.1181826191.1496665143-146886871.1493019056#save-a-new-document-without-specifying-an-id-field
から

、シェルが挿入された文書によって検証として、独特のObjectId値と_idフィールドを作成します。

ここでは、Mongoシェルと言います。

デフォルトのObjectIDまたはmongodを作成するのはmongoシェルですか?誰かが明らかにできることを願っています!

答えて

1

クライアントが_idを提供しない場合は、MongoDBサーバーがそれを行います。シェルはちょうど別のタイプのクライアントです。挿入されたドキュメントのために_idを提供するので、サーバーは必要ありません。しかし、他のドライバ/クライアントはそうでないかもしれないので、そのような場合にはサーバが行います。

0

クライアントがドキュメントのIDを作成しなかった場合、mongoサーバーは新しいドキュメントを作成するときに_idを作成します。

関連する問題