这个功能在mongodb中如何设计

letjs_in 发布于 2011/06/27 16:25
阅读 587
收藏 1

类似于问答网站,比如我要在每个用户发表问题之后,根据用户输入的标签来将这些统计信息更新,具体需求就是每个用户使用这个标签多少次。字段如下

第一种方式(传统方式)

{_id、tag、userid、count}

第二种方式

{_id、tag、info:[

{userid、count},{userid、count}...

]}

但是不论哪一种方式我都感觉不太好弄,我对mongodb不熟。。。

例如已知了用户输入的标签数组usertags

db.tag.update({'tag':{'$in':[usertags]}},{'$inc':{'count':1}},true)//upsert

这种方式只会将count字段加入到tag集合中。怎么样将tag也加入到集合中。

至于第二种方式,upsert就更麻烦了。。。

我现在的解决方法只能是循环者upsert

加载中
0
VincentTone
VincentTone
http://cookbook.mongodb.org/patterns/count_tags/ 可以看一下这个,不知道有没有帮助,虽然是很久以前的问题了,但是这个回答是为了方便后来者。
返回顶部
顶部