sql >> Base de Datos >  >> NoSQL >> MongoDB

esquema mongo (incrustación vs referencia)

Personalmente, elegiría una colección separada, principalmente con el fin de mantener pequeños los objetos de usuario/lugar, ya que puede tener un número ilimitado de registros por usuario/lugar. Si coloca un índice en user_id/timestamp y place_id/timestamp en su colección de registros, entonces las consultas para un usuario o lugar en particular serán eficientes. Un segundo beneficio de usar una colección separada es que MongoDB no tendrá que seguir moviendo su usuario o colocar el objeto cuando crece demasiado. En su lugar, simplemente se seguirá agregando a la colección de registros, lo que debería ser bastante eficiente (10 de 1000 de inserciones por segundo por fragmento).

También debo mencionar que no almacene los ID de registro en el lugar o en el documento de usuario, ya que obtiene el mismo beneficio de rendimiento al tener un índice en place_id o user_id en el documento de registro.