84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
在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就可以拿到~