gpt4 book ai didi

node.js - Mongoose如何实现嵌套查询

转载 作者:太空宇宙 更新时间:2023-11-03 23:27:43 27 4
gpt4 key购买 nike

我的数据库架构是

集合 - 问题

 {
"_id" : ObjectId("588f79d7535415ceb7a026bd"),
"type" : 1,
"question" : "Who is the best bastman from the following:",
"options" : [
"Sachin Tendulkar",
"Rahul Dravid"
]
}

集合 - 答案

{
"questionId" : "588f79d7535415ceb7a026bd",
"answers" : [
{
"userId" : [
102,
101,
105
]
}
]
}

我创建了一个 API 来获取所有问题,对于每个“_Id”,我需要访问集合 - 答案并检索与该问题 ID 相对应的答案。 我怎样才能实现这一目标? .

最佳答案

我建议您将答案嵌入到问题集中。

{
"_id" : ObjectId("588f79d7535415ceb7a026bd"),
"type" : 1,
"question" : "Who is the best bastman from the following:",
"options" : [
"Sachin Tendulkar",
"Rahul Dravid"
],
"answers": [{
"userId":[102,101,105]
}]
}

架构:-

{
"type" : Number,
"question" : String,
"options" : [String],
"answers": [{
"userId":[Number]
}]
}

或者:-

如果将来仅将 userIds 添加到 answers 中,那么您可以将 answers 设为 Object而不是对象数组,这取决于您的应用程序逻辑。

{
"type" : Number,
"question" : String,
"options" : [String],
"answers": {
"userId":[Number]
}
}

现在,您不需要运行两个查询来检索特定问题的问题答案。如果您需要以自定义格式检索数据,则必须使用 MongoDB Aggregation framework

如果你想了解更多关于MongoDB中的内嵌数据模型设计,请引用这篇documentation

关于node.js - Mongoose如何实现嵌套查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41960783/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com