0

是否可以通过 Motor 运行 db.fsyncLock() 命令?我希望我的应用程序对数据库进行备份,并且需要在制作副本之前刷新并锁定文件。

4

1 回答 1

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)]))

这里,“client”是一个 MotorClient。如果您在使用“async def”定义的本机协程中,请使用“await”,如果您在使用“@gen.coroutine”修饰的基于生成器的协程中,请使用“yield”。

于 2017-03-07T14:14:17.283 回答