在使用2.3.3版本的Ruby操作3.4版本的MongoDB中,如何通过Ruby在MongoDB中创建固定和使用集合,用于记录用户的日志行为。
MongoDB中的固定集合原本是针对高性能日志场景设计的。它们与标准集合的区别在于其大小是固定的。也就是说,一旦固定集合到达容量上限,后续的插入会覆盖集合中最先插入的文档。在只有最近的数据才有价值的情况下,这种设计免除了用户手工清理集合的烦恼。
以记录站点用户的行为,如查看产品、添加购物车、结账和购买。下面的脚本用来模拟向固定集合记录这些用户行为的日志功能。
require 'mongo'
VIEW_PRODUCT =0
ADD_TO_CART =1024
CHECKOUT =2
PURCHASE =3
con=Mongo::Client.new(['127.0.0.1:27017'],:database=>'test')
#删除test数据库
db=con.database
db.drop
#创建固定集合logInfo
logInfo=con[:logInfo,:capped=>true,:size&