最近接触了一些NoSQL的题目,主要的数据库还是以MongoDb为主,于是总结一下MongoDb的学习
MongoDb中的数据库,集合,文档和传统的关系型数据的对应就不用细说了
db显示当前使用的数据库
show dbs显示所有可用的数据库,如果一个数据库里面啥都没有这里就不会显示
use xxx指定使用哪种个数据库,如果不存在会自动创建
show tables显示当前数据库下所有的表(又回到了关系型数据库的概念了23333)
后面的实验都在test数据库下:1
2
3> show tables
runoob
users
插入数据
1 | > db.users.insert({'username':'xxx','password':11111} |
当前表中的内容:
1 | > db.users.find() |
MongoDb聚合
MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。有点类似sql语句中的 count(*)。
参考菜鸟教程中的栗子:
集合中的数据如下:
1 | { |
使用aggregate语句:
1 | > db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}]) |
它类似于:
select by_user, count(*) from mycol group by by_user