最近在用mongo+tornado做一些小东西,记录一下:
* mongo内置的js功能强大,但js调试难的问题也突出
* 联表操作的支持程度令人捉急
* 当collection数据量为5w左右时,较多的group+aggregate操作,效率还不差;但当数据量增加到10w左右时,执行时长急剧下降(vmware虚拟机:CPU 1核; 内存 1GB)
索引?是的,索引的确是方法之一。可惜的是,懒惰的我把很多group操作放在同一页面的加载过程中,而这些group操作依赖的key是不同的。。。。。。因为是自用的web,没有用心做优化
* 如果mongo内置了定时器的话,上述问题可以用缓存+定时更新解决,但现状是必须依赖OS或者外部程序的定时机制
* 始终没有找到一个便捷的
if (exists)
update
else
add
的实现,addtoset在多层的情况下,是将 key:value 一起判断的,无法只根据 key 来判断