我有一个数据库结构,其文档使用外键相互引用。尽管MongoDB在JOIN查询方面做得不好,但我们可以通过基于外键运行单独的查询来获取文档。
我可以使用MongoDB的ObjectID(_id
),它是唯一的。但它太长了,并且在客户端显示这个长ID以查询数据看起来有点难看。我想在MongoDB中创建自定义自动增量来解决这个问题,但MongoDB文档说:
通常在MongoDB中,您不会对_id字段或任何字段使用自动增量模式,因为它不会扩展到具有大量文档的数据库。
那么我的以下数据结构的最佳解决方案
Collection: Products
{
Project_ID: 1001, <Auto Incrementing>
Product: "Example Product",
..<Few other fields>..
}
Collection: Payments
{
Project_ID: 1001, <Foreign key>
Pay_ID: 2001, <Auto Incrementing>
..<Few other fields>..
}
Collection: Others
{
Project_ID: 1001, <Foreign key>
Pay_ID: 2001, <Foreign key>
Other_ID: 3001, <Auto Incrementing>
..<Few other fields>..
}
答案 0 :(得分:0)
MongoDB并不像关系数据库那样使用。它不支持服务器端的外键概念。理想情况下,您必须嵌入子文档。有关更多信息,请参阅此帖