gpt4 book ai didi

mongodb - 如何在 mongodb 中创建关系?

转载 作者:搜寻专家 更新时间:2023-10-30 23:08:08 25 4
gpt4 key购买 nike

如何在 mongodb 中创建关系?我在两个集合用户和 connection_log 之间创建外键。如何找到从 connection_log 到用户集合的关系?请指导我或举例说明。

最佳答案

MongoDB中没有JOIN的概念。没有“外键”声明。没有引用完整性检查。习惯它。

您可以直接在文档中对您的关系建模:一对多作为 One...中的数组

// users document
{
"_id" : ObjectId("536bc13f20c26cde11a40001"),
"userName" : "Mudshark"
"connection_log" : [
{
"startTime" : ISODate("2014-05-09T17:40:24.307Z"),
"endTime" : ISODate("2014-05-09T18:40:24.307Z")
},
{
"startTime" : ISODate("2014-05-01T17:00:00.000Z"),
"endTime" : ISODate("2014-05-01T18:00:00.000Z")
}
]
}
{
"_id" : ObjectId("536bc13f20c26cde11a40002"),
"userName" : "Tailhook"
"connection_log" : [
{
"startTime" : ISODate("2014-05-08T23:32:12.992Z"),
"endTime" : ISODate("2014-05-08T01:32:12.992Z")
}
]
}

或者您利用 ObjectId 来“关联”不同集合中的 2 个文档。

// users document
{
"_id" : ObjectId("536bc13f20c26cde11a40001"),
"userName" : "Mudshark"
}
{
"_id" : ObjectId("536bc13f20c26cde11a40002"),
"userName" : "Tailhook"
}

// connection_log document
{
"_id" : ObjectId("aefe13f20c26cde11123453"),
"user_id" : ObjectId("536bc13f20c26cde11a40001"),
"startTime" : ISODate("2014-05-09T17:40:24.307Z"),
"endTime" : ISODate("2014-05-09T18:40:24.307Z")
}
{
"_id" : ObjectId("aefe13f20c26cde11125511"),
"user_id" : ObjectId("536bc13f20c26cde11a40002"),
"startTime" : ISODate("2014-05-08T23:32:12.992Z"),
"endTime" : ISODate("2014-05-08T01:32:12.992Z")
}
{
"_id" : ObjectId("aefe13f20c26cde111212ab"),
"user_id" : ObjectId("536bc13f20c26cde11a40001"),
"startTime" : ISODate("2014-05-01T17:00:00.000Z"),
"endTime" : ISODate("2014-05-01T18:00:00.000Z")
}

不要绝望。您将以“Web 规模”运行:http://youtu.be/b2F-DItXtZs

关于mongodb - 如何在 mongodb 中创建关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23569319/

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