Mongoid v5.1.2 でreturnNewDocument
使用するとオプションが無視される可能性はありますfind_one_and_update
か?
次のコードを検討してください。
next_number = TrackingId.where(id: id).find_one_and_update({
:$inc => {
auto_increment_counter: 1
}
},
upsert: true,
returnNewDocument: true
).auto_increment_counter
そのクラスのauto_increment_counter
整数です。field :auto_increment_counter, type: Integer, default: 0
ただし、ドキュメントが見つからない場合は作成されますが、新しく作成されたドキュメントは返されません。だから私はnil
から戻ってfind_one_and_update
、それは壊れます。