javascript - E11000 重复键错误收集:发生.posts 索引:likes_1 重复键:{喜欢:未定义}
问题描述
尝试向数据库中添加一个新帖子,一次添加,第二次报错Post Schema如下
const PostSchema:Schema = new Schema({
author:{required:true,
type:mongoose.Schema.Types.ObjectId,
ref:'User',
},
title:{required:false,type:String},
image:{required:false,type:String,},
contents:{required:true,type:String},
tags:{required:false,type:[String]},
likes:{type:[
{
type:mongoose.Schema.Types.ObjectId,
ref:'User',
}
],
default:[],
unique:false,
required:true
},
createdAt:{type:Date,default:Date.now},
public:{type:Boolean,default:true},
})
帖子功能在这里
request.body.author=request.body.AuthorizedUser.id
let {author,tags,title,contents}=request.body
tags=tags?tags:[]
const data= await PostModel.create({author,tags,title,contents,likes:[]})
response.status(201).json({success: true,data})
解决方案
推荐阅读
- ios - 将文本字段与 avgAmount 标签中的输出进行比较的问题 (Swift)
- database - Sparql 查询维基数据以从属性中获取多个值
- windows - 在没有版本控制的情况下在 Git 存储库中分发二进制文件的最新版本
- node.js - MongoDb - 删除匹配两个条件的重复项
- database - 如何根据分数计算排名?
- css - 未应用高度和行高样式
- java - 在 VSCODE 的 Ubuntu 中为 JDK 11 设置 JAVA_HOME
- java - 如何修复此 QR 码扫描仪的代码?
- c# - 如何伪造 ApiController 的 IP 地址?
- azure - 从 Azure Log Analytics 查询 VM 最大 cpu 利用率