Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

570
Vistas
How to create interconnected schemas in MongoDB with Mongoose?

I am creating an web app for users to store their daily expenses. The app is in NodeJS and using Express. The schema for collecting users and users' data is as follows:

const dataSchema = new mongoose.Schema({
  email:String,
  date:String,
  amount: Number
})
 

const userSchema = new mongoose.Schema({
  email: String,
  password: String,
  data: {dataSchema}
})
const User = new mongoose.model("User", userSchema);
const UserData = new mongoose.model("UserData", dataSchema);

What I want to do is to connect dataSchema to userSchema.

I wish to create a new dataSchema for each different day for every User. I wish to connect these Schemas so that userData can be seen in a consolidated form and not be scattered around in the data base for different users. Is it possible to do so because currently no data is shown in "data" field Pic From DB of userSchema

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

You could use a relation between userSchema and dataSchema, like so :

const Schema = mongoose.Schema;
const userSchema = new Schema({
  email: String,
  password: String,
  data: {
      type: Schema.Types.ObjectId,
      ref: "UserData",
    },
})

From that you could use a lot of operations like population. I suggest you to read here on the official documentation, but here is an overview:

How to create and connect:

 // create a userData
 const userData = new UserData({email: "data@data.com", date: "some date", amount : 3});
 // create a user and make connection
 const user = new User({email: "me@you.he", password : "me", data: userData._id})

How to query a user with his data:

const user = await User.findOne({ email: 'me@you.he' }).populate('userData');
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda