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

Diseño de base de datos relacional para diseño mongoDB/mongoose

Mongoose está diseñado de tal manera que puede modelar sus tablas relacionalmente con relativa facilidad y poblar datos relacionales basados ​​en el ref ha definido en el esquema. El problema es que debes tener cuidado con la población. Si rellena demasiado o anida sus poblaciones, se encontrará con cuellos de botella en el rendimiento.

Su enfoque en Edit 1 es en gran medida correcto, sin embargo, por lo general, no desea completar un ref remoto basado en un Number o establece el _id de un modelo a un Number ya que mongo usa su propio mecanismo hash para administrar el _id , normalmente sería un ObjectId con _id implícito. Ejemplo como se muestra a continuación:

var ScoreSchema = new mongoose.Schema({
    user : { type: Schema.Types.ObjectId, ref: 'User' },
    game : { type: Schema.Types.ObjectId, ref: 'Game' },
    score: Number
});

Si por alguna razón necesita mantener una identificación de número para sus registros, considere llamarlo uid o algo que no entre en conflicto con mongo/mongoose internals. ¡Buena suerte!