Tag: 增加

MongoDB更新/插入文档并增加匹配的数组元素

我使用Node.js和MongoDB与monk.js,我想以一个最小的方式做一个文件每小时的日志logging,如: 最终文件: {time:YYYY-MM-DD-HH,log:[{action:action1,count:1},{action:action2,count:27},{action:action3,count:5}]} 应该通过递增一个值来创build完整的文档。 例如,某人在这个小时内首先访问一个网页,action1的增量应该用一个查询创build下面的文档: {time:YYYY-MM-DD-HH,日志:[{action:action1,count:1}]} 在这个小时内的另一个用户访问另一个网页,文档应该被扩展到: {time:YYYY-MM-DD-HH,log:[{action:action1,count:1},{action:action2,count:1}]} 并且访问不同的网页时计数值应该增加。 目前我创build了每个行动的文件: tracking.update({time:moment().format('YYYY-MM-DD_HH'),action:action,info:info},{$ inc:{count:1}},{upsert:true},function呃){} 这可能与monk.js / mongodb? 编辑:谢谢。 你的解决scheme看起来干净优雅,但看起来像我的服务器无法处理它,或者我不能让它工作。 我写了一个极其肮脏的解决scheme,以action-name为关键字: tracking.update({time:time,ts:ts},JSON.parse('{“$ inc”:{“'+ action +'”:1}}'),{upsert:true},function(err){ });