2016-09-11 10 views
0

後にIDを取り戻す:ルビーのMongoは - 例えば、インサート

result = collection.insert_one({ name: 'test' }) 

今、私はそれが正常に挿入されたと仮定すると、新しい文書のIDを取り戻す方法は? resultから入手する方法はありますか?後でクエリを実行しない限り、一部の言語/ドライバでは可能ですが、default Ruby Mongo driverを使用して表示する方法はわかりません。

+0

https://github.com/mongoid/mopedを使用していますか? –

+0

デフォルト/正式なドライバです。私は今それをリンクしました。 – mahemoff

答えて

2

最初にIDを生成してから、IDを含む挿入を送信することができます。

oid = BSON::ObjectId.new 
result = collection.insert_one({ _id: oid, name: 'test'}) 

この方法では、既にすべての情報が得られ、何も戻す必要はありません。

+0

Mongoは挿入後何も返さないので、それは良い決定です。 –

+0

それは、ありがとう、感謝します。もしも怠け者になり、サーバーに返させる方法があるかどうかを知りたいのですが。 – mahemoff

+0

@mahemoff:いや、そうは思わない。 –