meimei10251314 发表于 2015-7-6 05:56:02

我与mongodb 二三事(6)

  学过rdbms的sql语句, 都知道函数的使用,大大提高了开发的效率吧!!!
  那nosql数据库中是否还有这些函数,答案是肯定的。
  在这节中,我们将一起学习这些函数,从而,来体会他所带来的便利。
  在nosql中有这样子的一个场景,我要计算foo的记录的总条数。
  如果,不用聚合函数,他的聚合的函数应该是这样的。
  相应的sql语句是这样的。
  
  var foos=db.foo.find();
var count=0;
while(foos.hasNext()){
.. count=count+1;
.. print(count);
.. foos.next();
.. }
  执行结果如图所示:
  

  如果用聚合函数来解决,就是一句话的事情
  相应的sql的语句为: db.foo.count();
  执行结果如图所示:
  

  由此可见聚合函数的好处吧! 简单
  我们再看下一个运用场景吧,剔除表中重复的行。
  db.runCommand({"distinct":"foo","key":"apple","key":"watermelon"});
  执行结果如图所示:
  

  如果不是通过distinct的聚合函数的吧,那么他只能写一个自定义的MapRedure 由此可见 聚合函数带来的巨大的好处,爽啊
  正是有了函数,才能达到了编程最高的境界,write less,do more. 我们要勤用函数,使我们mongodb的之旅更简单。
  当然,我上述介绍的函数只是冰山一角,更多的需要我们不断学习,总结
页: [1]
查看完整版本: 我与mongodb 二三事(6)