Mi esquema de base de datos es
Colección - Pregunta
{ "_id" : ObjectId("588f79d7535415ceb7a026bd"), "type" : 1, "question" : "Who is the best bastman from the following:", "options" : [ "Sachin Tendulkar", "Rahul Dravid" ] }Colección - Respuestas
{ "questionId" : "588f79d7535415ceb7a026bd", "answers" : [ { "userId" : [ 102, 101, 105 ] } ] }Creé una API para obtener todas las preguntas y para cada "_Id" necesito acceder a la colección- Respuestas y recuperar la respuesta correspondiente a ese questionId. ¿Cómo puedo conseguir esto? .
Le recomendaría que incrustara la respuesta en la colección de preguntas.
{ "_id" : ObjectId("588f79d7535415ceb7a026bd"), "type" : 1, "question" : "Who is the best bastman from the following:", "options" : [ "Sachin Tendulkar", "Rahul Dravid" ], "answers": [{ "userId":[102,101,105] }] }Esquema:-
{ "type" : Number, "question" : String, "options" : [String], "answers": [{ "userId":[Number] }] }O:-
si solo se userIds de usuario en el futuro a las answers , entonces puede hacer que las answers sean un Object en lugar de una matriz de objetos, eso depende de la lógica de su aplicación.
{ "type" : Number, "question" : String, "options" : [String], "answers": { "userId":[Number] } } Ahora no necesita ejecutar dos consultas para recuperar questions y answers para una pregunta en particular. Si necesita recuperar datos en un formato personalizado, debe usar el marco de agregación de MongoDB
Si desea obtener más información sobre el diseño del modelo de datos incorporado en MongoDB, consulte esta documentación