在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
插入之后会自己更新的 ...
def add_post(): post = db.Post() post.title = request.form['title'] post.text = request.form['text'] post.save() return post._id
参考:
[1] Collection - PyMongo Reference
_id里面含有时间戳,所以是递增的,看最大的那一个就是了
可能LZ的意思是自己控制的插入,那么基本上所有的驱动都会返回刚才插入的对象,里面含有 _id
_id一般是驱动生成的,所以理论上在插入前就已经知道了。
如果使用的是_id 使用默认的objectID,它是由你的驱动生存的,在数据发送到mongo之前就已经产生了。应该就在你insert()的返回值当中
如果是Java,把一个对象在MongoDB中save或者insert后,就如楼上说的,直接掉对象中的属性id就可以拿到~
看 LZ 用的应该是 PyMongo ... 那么直接读
post._id
就可以了插入之后会自己更新的 ...
参考:
[1] Collection - PyMongo Reference
_id里面含有时间戳,所以是递增的,看最大的那一个就是了
可能LZ的意思是自己控制的插入,那么基本上所有的驱动都会返回刚才插入的对象,里面含有 _id
_id一般是驱动生成的,所以理论上在插入前就已经知道了。
如果使用的是_id 使用默认的objectID,它是由你的驱动生存的,在数据发送到mongo之前就已经产生了。应该就在你insert()的返回值当中
如果是Java,把一个对象在MongoDB中save或者insert后,就如楼上说的,直接掉对象中的属性id就可以拿到~