我正在尝试使用mongoose为MongoDb创建一个模型,我想确保只存在一个特定用户和文件的文档。
var FileStatusSchema = new mongoose.Schema ({
file: mongoose.Schema.Types.ObjectId,
user: mongoose.Schema.Types.ObjectId,
hasSeen: { type: Boolean, default: false }
})
FileStatusSchema.index = ({file: 1, user: 1}, {unique: true})
现在,如果我尝试使用已存在的文件和用户组合保存文档,则会引发重复键错误。
我是否有某种方法可以将MongoDB配置为覆盖文档而不是引发异常?
答案 0 :(得分:1)
如果文档不存在,此命令将创建新文件
collection.update({file:2112,user:21421}, {hasSeen:true}, {upsert:true});