0
我有一个数据库结构,其文档使用一个外键来引用对方。即使MongoDB在JOIN查询中表现不佳,我们也可以通过运行基于外键的单独查询来获取文档。MongoDB正确的自动增量方式
我可以使用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>..
}
这是罕见的显示'_id'到客户端,对不对?您可以使用'POST'请求隐藏'_id'。 – Raptor 2014-12-19 04:07:42
呃,并且关于每种显示技术都允许枚举表格行等。为了让OP长话短说:没有自动增量。 – 2014-12-19 06:43:28
@OP:我有这样的感觉,你正在尝试做的(明智或潜意识)是使用MongoDB作为RDBMS。在MongoDB中没有外键的概念,没有自动增量。如果您尝试使用MongoDB来模拟RDBMS,那么会发生什么:最终会出现一个过度规范化,表现不佳的系统,其代码基础臃肿。整个发展过程与一开始不同。在RDBMS中,您类似于您的域模型结构,并试图回答您的问题。在MongoDB中,根据您想要回答的问题创建模型。 – 2014-12-19 06:57:20