dbOnce 函数替代了零散的实现