我想使用非_id
的主键来定义Mongoose模式。文档表示仅允许在子文档中将模式选项标志_id
设置为false。同时,我希望主键是String
而不是ObjectId
。这有可能吗?
使用二级索引是一个选项,但并不理想,因为我希望有适当名称的主键。我也不想在不需要的情况下使用两个不同的索引。
这会将documentId
设置为次要索引,但这使得主键无效,因为我只想通过documentId
选择,而不是自动设置为_id
的任何东西。
const DocumentSchema = new Schema({
documentId: { type: String, index: true }
})
我想做类似于
const DocumentSchema = new Schema({
documentId: String
})
然后告诉它使用 documentId
作为主键。
澄清:我特意不想使用 _id
作为键,因为它的名称不够明确,我想使用 documentId
作为主键代替。
documentId
而不是_id
的字段中。但如果这不可能,将_id定义为字符串类型是否可以? - douira澄清
部分。 - AlexZeDimdocumentId
而不是_id
。 - douira