motor的insert_one 方法向collection中写入一条数据,insert_many 方法可以批量写入数据,它们都是异步方法,必须使用await关键字,该方法只能在协程中被调用。
import asyncio
import motor.motor_asyncio
uri = "mongodb://kwsy:123456@localhost:27017/app"
client = motor.motor_asyncio.AsyncIOMotorClient(uri)
db = client.app
async def insert_one():
data = {'name': '小红', 'age': 14}
result = await db.user.insert_one(data)
print(result.inserted_id) # 新增数据的id
loop = asyncio.get_event_loop()
loop.run_until_complete(insert_one())
result.inserted_id 是新增数据的objectid, 等同于msyql数据表的主键id。
insert_many 方法支持批量写入数据
import asyncio
import motor.motor_asyncio
uri = "mongodb://kwsy:123456@localhost:27017/app"
client = motor.motor_asyncio.AsyncIOMotorClient(uri)
db = client.app
async def insert_many():
datas = [
{'name': '小红', 'age': 14},
{'name': '小明', 'age': 15}
]
result = await db.user.insert_many(datas)
print(result.inserted_ids) # 新增数据的id
loop = asyncio.get_event_loop()
loop.run_until_complete(insert_many())
QQ交流群: 211426309