我刚开始使用Flask_Pymongo(以及一般的pymongo)。我编写了一个简单的测试路由,该路由成功插入到了我的mongo数据库中,但是返回结果与预期的不同。如果我没记错的话,pymongo应该在返回时调用insert_id返回_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)
Ref: pymongo-insert_one