1

我刚刚开始使用 Flask_Pymongo(以及一般的 pymongo)。我编写了一个简单的测试路由,成功插入到我的 mongo db,但是返回结果不如预期。如果我没记错的话,_id如果我在返回时调用 insert_id,pymongo 应该返回该字段。似乎 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 的新文档。我错过了什么?

4

1 回答 1

3

正确的获取方式_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

于 2020-01-15T04:33:45.280 回答