1

重複の可能性:
mongodb で主キーを設定する方法は?

私が理解したように、_idはmongodbによって生成されます。手動で設定する方法はありますか?もしそうなら、C#ドライバーを使用してそれを行う方法は?

4

2 に答える 2

4

私はなんとか自分で答えを見つけることができました。C#ドライバーの場合、名前Idまたは_id目的のプロパティを指定するだけで十分でありObjectId、クラスにtypeプロパティを含める必要はありません。次に、内部ドライバーは、このプロパティが_idmongodbのデータ用であるとどういうわけか決定します。

于 2012-09-28T07:41:46.333 に答える
1

はい、クライアント側でObjectIDを生成できます。すべてのクライアントライブラリは、その方法を提供する必要があります。これがルビードライバーの様子です

require 'mongo'
oid = BSON::ObjectId.new

ただし、_idフィールドはObjectIdである必要はありません。何でもかまいません(配列を除く)。ドキュメントを挿入するときに独自の値を提供することができ、mongoはそれを喜んで受け入れます。

于 2012-09-28T06:35:16.537 に答える