首頁  >  問答  >  主體

mongodb返回刚插入数据的id用什么方法

在mysql中,可以使用last_insert_id()的方法获得最近插入数据的id,但是在mongodb,没找到这样的方法,如何实现呢?

补充代码
def add_post():
    post = db.Post()
    post.title = request.form['title']
    post.text = request.form['text']
    post.save()
    return <刚刚插入数据的 _id>

这样应该比较清楚了吧

PHP中文网PHP中文网2739 天前718

全部回覆(5)我來回復

  • PHPz

    PHPz2017-04-21 11:17:56

    看 LZ 用的應該是 PyMongo ... 那麼直接讀 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

    回覆
    0
  • 迷茫

    迷茫2017-04-21 11:17:56

    _id裡面含有時間戳,所以是遞增的,看最大的那一個就是了

    可能LZ的意思是自己控制的插入,那麼基本上所有的驅動都會返回剛才插入的對象,裡面含有 _id

    回覆
    0
  • 黄舟

    黄舟2017-04-21 11:17:56

    _id一般是驅動產生的,所以理論上在插入前就已經知道了。

    回覆
    0
  • 阿神

    阿神2017-04-21 11:17:56

    如果使用的是_id 使用預設的objectID,它是由你的驅動生存的,在資料發送到mongo之前就已經產生了。應該就在你insert()的回傳值當中

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-21 11:17:56

    如果是Java,把一個物件在MongoDB中save或insert後,就如樓上說的,直接掉物件中的屬性id就可以拿到~

    回覆
    0
  • 取消回覆