以下是使用固定集合的基本概念和操作:
创建固定集合:
你可以在创建集合时指定过期索引来创建固定集合。过期索引用于标识哪些文档应该在一定时间后过期。
db.createCollection("myCollection", {
expireAfterSeconds: 3600 // 文档过期时间,单位为秒
});
上面的例子中,myCollection 是集合的名称,expireAfterSeconds 设置文档的过期时间为 3600 秒(1 小时)。
插入文档:
插入到固定集合的文档会自动被标记为过期,MongoDB 会在过期时间到达后删除这些文档。
db.myCollection.insertOne({
key: "value",
createdAt: new Date()
});
在上面的例子中,createdAt 字段是一个时间戳,用于标识文档的创建时间。
查询固定集合:
查询固定集合时,MongoDB 会自动排除已过期的文档。
db.myCollection.find({});
这会返回所有未过期的文档。
注意事项:
1. 固定集合的性能可能受到过期索引的影响,特别是在处理大量过期文档时。需要根据具体的使用场景和数据量来进行性能测试和优化。
2. 固定集合适用于需要自动清理过期数据的场景,比如存储会话信息、日志等。
3. 过期索引的单位是秒,可以根据实际需求设置不同的过期时间。
4. 固定集合的过期索引只能应用在一个字段上,通常是存储时间戳的字段。
请注意,在 MongoDB 4.2 版本之前,TTL 索引的最小过期时间是 60 秒。在 MongoDB 4.2 及以后的版本,可以设置更短的过期时间。
转载请注明出处:http://www.zyzy.cn/article/detail/14251/MongoDB