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

 Samuel小嘎嘎 发布于 2022-10-25 11:10

在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>

这样应该比较清楚了吧

5 个回答
  • 如果是Java,把一个对象在MongoDB中save或者insert后,就如楼上说的,直接掉对象中的属性id就可以拿到~

    2022-10-26 23:18 回答
  • 如果使用的是_id 使用默认的objectID,它是由你的驱动生存的,在数据发送到mongo之前就已经产生了。应该就在你insert()的返回值当中

    2022-10-26 23:18 回答
  • _id一般是驱动生成的,所以理论上在插入前就已经知道了。

    2022-10-26 23:18 回答
  • _id里面含有时间戳,所以是递增的,看最大的那一个就是了

    可能LZ的意思是自己控制的插入,那么基本上所有的驱动都会返回刚才插入的对象,里面含有 _id

    2022-10-26 23:18 回答
  • 看 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

    2022-10-26 23:19 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有