我有两个模型:platform
和place
(平台并放置在平台上)
平台
{
name: {
required: true,
unique: true,
type: String,
empty: false
},
description: {
required: false,
type: String,
empty: true
}
}
地点
{
name: {
required: true,
type: String,
empty: false
},
platform: new Mongoose.Schema({
type: Mongoose.Schema.Types.ObjectId,
ref: PlatformSchema
})
}
platform
的名称必须唯一。首先,我生成平台列表。然后尝试生成此平台上的地点列表并收到错误。
WriteError({
"code": 11000,
"index": 1,
"errmsg": "E11000 duplicate key error collection: test.places index: platform.ref.name_1 dup key: { : null }",
"op": {
"_id": "5b7ea477798f9c41f81c0234",
"name": "top",
"platform": {
"_id":"5b7ea41b878b4a41abcfc952"
}
}
})
接收它,直到platform
模式中存在“名称”字段的唯一索引为止。
我尝试通过多种方式插入place
:
PlaceRecord.insertMany([
{
name: "top",
platform: platformDocumentInstance
}
])
或
PlaceRecord.insertMany([
{
name: "top",
platform: platformDocumentInstance
}
])
或
PlaceRecord.insertMany([
{
name: "top",
platform: platformDocumentInstance
}
])
但是结果是一样的。请注意,插入了place
成功的第一条记录,但是place
的下一条记录抛出了异常。请帮忙。
答案 0 :(得分:0)
您可以共享要插入的文档吗? 似乎您要首先插入的文档已将null插入为platform.ref.name,而当您插入第二个文档时,您的索引platform.ref.name_1将失败,因为已经有一个记录为null。