所有的猫鼬事件是什么,它们在哪里记录?

时间:2019-02-01 19:21:57

标签: mongodb mongoose

我可以用猫鼬处理各种事件,例如

mongoose.connection.on("connecting", () => this.onConnecting());

我遇到的一些人

  • 连接
  • 错误
  • 已连接
  • 打开
  • 重新连接
  • 已断开连接

我找不到这些文件的记录位置。我以为它们也许不是mogoose的一部分,而是mongodb本身的一部分,但我也找不到它们在mongo网站上。

我在哪里可以找到记录的这些事件(及其他事件)?

2 个答案:

答案 0 :(得分:2)

您可以在github的源代码中找到它。 https://github.com/Automattic/mongoose/blob/master/lib/connection.js

列出的事件比给定的答案还多,它们是:

  • @event connecting:在此连接上执行connection.openUri()时发出。
  • @event connected:此连接成功连接到数据库时发出。在reconnected场景中可能被发射多次次。
  • @event open:在所有这些连接模型上执行connectedonOpen后发出。
  • @event disconnecting:在执行connection.close()时发出。
  • @event disconnected:与数据库断开连接后发出。
  • @event close:在所有这些连接模型上执行disconnectedonClose后发出。
  • @event reconnected:在我们connected之后并随后disconnected,随后成功进行另一个成功连接之后发出。
  • @event error:在此连接上发生错误时触发。
  • @event fullsetup:在副本集方案中,当连接字符串中指定的主要和至少一个seconary被连接时发出。
  • @event all:当连接字符串中指定的所有节点均已连接时,在副本集方案中发出。

答案 1 :(得分:1)

通过查找源代码来查找事件集中的地方:

https://github.com/Automattic/mongoose/blob/2176150b3d463747ba66b76e37504ee8ffc3f738/lib/connectionstate.js

这是一个复制粘贴:

const disconnected = 'disconnected';
const connected = 'connected';
const connecting = 'connecting';
const disconnecting = 'disconnecting';
const uninitialized = 'uninitialized';

更新:

查看@ajbieber的答案以获取完整列表。