python - Flask Pymongo Insert 返回一个集合对象而不是 _id

标签 python mongodb flask pymongo flask-pymongo

我刚刚开始使用 Flask_Pymongo(以及一般的 pymongo)。我编写了一个简单的测试路由,成功插入到我的 mongo 数据库,但是返回结果并不符合预期。如果我没有记错的话,如果我在返回时调用inserted_id,pymongo应该返回_id字段。然而,似乎 Flask_Pymongo 返回一个集合对象:

@main.route('/')
def index():
    user_collection = mongo.db.users
    user_collection.insert_one({'name': 'Jack Black'})
    print(user_collection.inserted_id)
    return "<H2>Added a user!</H2>"

返回的对象:

Collection(Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=False), 'example'), 'users.inserted_id')

插入操作成功,否则我会看到带有 _id 的新文档。我错过了什么?

最佳答案

获取_id的正确方法是:

id = user_collection.insert_one({'name': 'Jack Black'}).inserted_id
print(id)

(Or)

userDoc = user_collection.insert_one({'name': 'Jack Black'})
print(userDoc.inserted_id)

引用: pymongo-insert_one

关于python - Flask Pymongo Insert 返回一个集合对象而不是 _id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59744964/

相关文章:

c# - 使用官方 c# 驱动程序在 MongoDB 中按 $natural 排序

MongoDB C# 查询从文档中选择特定键

java - 如何对 Mongodb 存储的图像进行 Tesseract Ocr

python - Flask:peewee.OperationalError:没有这样的表:

backbone.js - 渲染字段时Wtforms转义包含自变量js模板的value参数

python - 在没有运行 X 服务器的情况下生成 matplotlib 图

python - 如何提取给定单元格的值?

python - docker 中挂载的卷中的权限被拒绝

python-2.7 - Flask 应用程序启动时没有提供调试引脚,也没有显示请求信息

python - 如何在Python中迭代一个数据帧的每一行并与另一个数据帧中的行进行比较?