在mysql中,可以使用last_insert_id()的方法获得最近插入数据的id,但是在mongodb,没找到这样的方法,如何实现呢?
last_insert_id()
def add_post(): post = db.Post() post.title = request.form['title'] post.text = request.form['text'] post.save() return <刚刚插入数据的 _id>
这样应该比较清楚了吧
认证高级PHP讲师
LZ は PyMongo を使用する必要があるようです...それではpost._idを読むだけで終わりです
post._id
挿入後自動的に更新されます...
参考:
[1] コレクション - PyMongo リファレンス
_id にはタイムスタンプが含まれているため、増加しています。最大のものを見てください
おそらく LZ は自分で制御する挿入を意味します。その場合、基本的にすべてのドライバーは、_id を含む、挿入されたばかりのオブジェクトを返します
_id は通常ドライバーによって生成されるため、理論的には挿入前にすでにわかっています。
_id を使用する場合は、ドライバーによって保存され、データが mongo に送信される前に生成されるデフォルトの objectID を使用します。それはあなたのinsert()の戻り値にあるはずです
Javaの場合は、上記のようにMongoDBにオブジェクトを保存または挿入した後、オブジェクト内の属性IDを直接削除することで取得できます~
LZ は PyMongo を使用する必要があるようです...それでは
post._id
を読むだけで終わりです挿入後自動的に更新されます...
リーリー参考:
[1] コレクション - PyMongo リファレンス
_id にはタイムスタンプが含まれているため、増加しています。最大のものを見てください
おそらく LZ は自分で制御する挿入を意味します。その場合、基本的にすべてのドライバーは、_id を含む、挿入されたばかりのオブジェクトを返します
_id は通常ドライバーによって生成されるため、理論的には挿入前にすでにわかっています。
_id を使用する場合は、ドライバーによって保存され、データが mongo に送信される前に生成されるデフォルトの objectID を使用します。それはあなたのinsert()の戻り値にあるはずです
Javaの場合は、上記のようにMongoDBにオブジェクトを保存または挿入した後、オブジェクト内の属性IDを直接削除することで取得できます~