【发布时间】:2017-12-09 04:20:33
【问题描述】:
我有一个架构:
var Schema = mongoose.Schema;
var TicketSchema = new Schema({
externalId: String,
name: String,
items: [{
externalId: String,
price: Number,
quantity: {
type: Number,
default: 1
},
comment: {
type: String,
default: '',
trim: true
},
entity: {
type: String,
ref: 'Entity'
}
}],
tableId: String
});
mongoose.model('Ticket', TicketSchema);
我想用 ObjectId 以外的唯一字段填充实体字段。 我怎样才能做到这一点?
【问题讨论】:
-
这个包可能对npmjs.com/package/mongoose-auto-increment有帮助,它将使用
_id中的数字类型,从0,1 ++开始,而不是ObjectId -
@p0k8_ 我不是这个意思。我已经有了一个独特的领域。但它不是_id。那么,如何使用此字段填充猫鼬模型?
-
您可以像使用 ObjectId 一样实现这一目标。根据 mongoose valids refs 可以是
ObjectId, Number, String, and Buffer。只是您所引用的集合应该具有该引用值作为其_id字段。