Is faunaDB support trigger by data change/add in any collection?

We have an open feature request for webhooks. Take a look at that, and if that is what you are looking for, then make sure to vote for it, and I encourage you to add your use case there as well.

That said, it sounds like all of the work that you want triggered is inside of the database. If that is the case, then you can use ABAC to only allow users to change/add to the collections through UDFs.

Firebase triggers require you to make extra networking trips in and out of the db. Fauna lets you run logic in the database within a single transaction. If there is an error at some point in the query, then the whole thing rolls back, ensuring your data remains consistent.

CreateRole({ 
  name: "RegisterUserFn", 
  privileges: [
    /* All of the things that the function needs */
  ]
})
CreateFunction({
  name: "RegisterUser",
  role: Role("RegisterUserFn"),
  body: Query(
    Lamba(
      ["email", "password", "address"],
      Let(
        {
          user: Create(Collection("users"), {
            data: { email: Var("email") },
            credentials: { password: Var("password") }
          }),
          // Do stuff with address
        },
        {
          // return some payload
        }
      )
    )
  )
})
CreateRole({ 
  name: "PublicRole", 
  privileges: [
    {
      resource: Function("RegisterUser"),
      actions: { call: true }
    }
  ]
})