【发布时间】:2020-09-01 22:28:10
【问题描述】:
我遇到了 MongoDB 的性能问题。
我们的数据库在image 和hashtag 之间存在松散连接。当服务器保存新图像时,它将从hashtag 更新imageCount 值。问题是同一主题标签上可能同时有数百个更新。由于写入冲突,保存非常慢。
我是否误解了应该如何建立这种联系?是否有可能使这项工作更快?
谢谢!
当前方法更新主题标签查询:
const dbHashtag = await Hastag.findOneAndUpdate(
{ name: hashtag.name },
{ $inc: { videoCount: 1 } },
{ upsert: true, new: true }
).select('_id').lean()
图像架构:
const imageSchema = new mongoose.Schema({
hashtags: [{ type: Schema.Types.ObjectId, ref: 'Hashtags' }]
})
标签架构:
const hashtagSchema = new mongoose.Schema({
name: {
type: 'String',
unique: true
},
imageCount: {
type: 'Number'
},
})
hashtagSchema.index({ name: 1 })
【问题讨论】:
标签: mongodb performance mongoose mongodb-query nosql