Tengo una aplicación que tiene poco más de 20 000 usuarios en una colección mongodb. Acabo de implementar la pasarela de pago de stripe en mi aplicación, y ahora estoy buscando una forma óptima de ejecutar a todos los usuarios, registrarlos con stripe y guardar su identificación de cliente en mi base de datos.
Por contexto, cuando registra un usuario en stripe, stripe le asignará una identificación de cliente. Me gustaría guardar esta identificación de cliente de banda en mi objeto/base de datos de usuario.
Mi implementación actual registrará nuevos usuarios con stripe automáticamente y guardará el valor de identificación del cliente de stripe, sin embargo, necesito adaptar esto a los más de 20,000 usuarios.
No estoy seguro de la mejor manera de abordar esto. Si fuera una pequeña cantidad de usuarios, simplemente escribiría un script y haría algo como Users.find() y luego mapearía a través de cada usuario, registrándolos y actualizándolos.
Cualquier consejo muy apreciado.
Not sure if this would be a good idea. But here's my thought. Since you're already registering each user on stripe and storing their stripe id on your side. You don't have to worry about new ones (just like you said). Here's the steps: 1> Fetch user data. 2> Check if stripe customer id is there or not. 2.1> If it's there you can proceed with the stripe api operation that user triggered. 2.2> If stripe customer id is not there then you can go ahead and register the user on stripe. Store it in your DB and proceed with user request. Though this will add an extra DB query.Ahora bien, hay muchos lugares en los que tendrá que hacer esto, por lo que le aconsejo que cree una ruta separada para las operaciones relacionadas con la franja. Y use una función de middelware para esto.
Sin embargo, 20K es un número pequeño y es una operación de una sola vez. Así que deberías ir con script.
Espero que ayude :)