【发布时间】:2016-04-03 09:14:39
【问题描述】:
我使用 winston 模块在 Node.js 中创建了一个记录器,并通过要求带有以下选项的 winston-mongodb 模块添加了 MongoDB 传输:
{
db: config.db[k.DB_ENV.AUTHOR],
username: config.dbUser,
password: config.dbPassword,
collection: 'log-aggregation',
storeHost: true,
capped: true,
cappedMax: 10 // documents
}
我希望记录器为每 10 个文档创建一个新集合。但是记录器继续记录 same 集合。我评论了collection: 'log-aggregation' 行以检查选项是否真的有效,然后它开始登录到默认的'log' 集合。
那么我的错误在哪里? cappedMax 选项是否有最小文档大小?我尝试使用 cappedSize 选项也使用 10 到 1000 个值,但仍然没有创建新集合。
我想知道 cappedSize 和 cappedMax 选项的最小和最大允许值?
我还想知道创建的新集合的名称是什么?
【问题讨论】:
-
关于集合名称,请在此处指定 -->
collection: 'log-aggregation'。对于cappedSize,我不确定为什么它会一直存储超过指定大小,但也许你可以尝试cappedSize并添加一个以字节为单位的数字 -
@securecurve 我尝试了以字节为单位的 cappedSize 和 cappedMax ..仍然没有创建新的集合
-
据我了解,
capped只是创建一个有上限的 MongoDB 集合 (docs.mongodb.com/manual/core/capped-collections),其工作方式类似于循环缓冲区。如果前一个集合“已满”,则不会创建新集合。
标签: javascript node.js mongodb logging winston