添加方法:
expireAfterSeconds 的单位是秒。15s后过期的数据就会被自动删除。
TopicSchema.index({create_at: -1})TopicSchema.index({top: -1, last_reply_at: -1})
TopicSchema.index({last_reply_at: -1})
TopicSchema.index({author_id: 1, create_at: -1})
建索引是为了提高查询速度,要根据实际业务建立索引,太多了也不好,这样更新数据会变慢,因为要更新索引。
node.js mongodb mongoose我需要每分钟在重复的mongo集合中插入1000个项目。
使用findAndUpdate / Upsert,服务器性能会大大降低。
保存没有检查重复项的服务器不会变慢,但是我将需要cronjob来删除所有重复项。
哪种方法可以扩展此规模?
一台具有高RAM的机器?多少?
许多具有副本集和较低RAM的机器?
也许分片?
最佳答案
您可以通过创建unique index自动清除重复项。
示例:当您已经存在具有first_name和last_name相同组合的文档时,如果要拒绝文档,则可以创建一个如下所示的索引:
db.addresses.ensureIndex( { "first_name": 1, "last_name": 1 }, { unique: true } )
如果您的集合中已经有重复项,并且希望在创建索引时将其删除,则还需要设置dropDups选项:
db.addresses.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)