在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就可以拿到~