是否可以通过Motor运行db.fsyncLock()命令?我希望我的应用程序备份数据库,并且需要在复制之前刷新和锁定文件。
答案 0 :(得分:1)
mongo shell通过调用MongoDB命令执行fsyncLock:
https://docs.mongodb.com/manual/reference/method/db.fsyncLock/
如该页面所示,shell使用以下语法为fsync数据库命令提供了一个简单的包装器:
{ fsync: 1, lock: true }
因此,您可以使用Motor作为任何MongoDB命令运行它:
await client.admin.command(SON([('fsync', 1), ('lock', true)]))
这里,“客户”是一个MotorClient。如果你在使用“async def”定义的本地协程中,请使用“await”,如果你在使用“@ gen.coroutine”装饰的基于生成器的协程中,则使用“yield”。