MongoDB分布式数据库,可视化管理工具使用:NoSQLBooster
NoSQLBooster配置指南:https://www.cnblogs.com/xuliuzai/p/9651800.html
MongoDB学习指南:https://www.runoob.com/mongodb/mongodb-tutorial.html
个人感觉MongoDB相对于SQL的优势(?)在于每个数据都是有索引的,这样可以实现快速的查找与排序。
19.5PyQt项目由于需要大量的数据计算,所以使用MongoDB进行批处理和聚合操作。
之前在廖雪峰的python3教程中看到过Map和Reduce的概念,待学习...
MongoDB基本概念理解:
主要要注意的差别是SQL里的table变为collection表/集合,行数据由row变为document
MongoDB不支持表连接查询,那真的是太棒了嘻嘻嘻。
基本数据处理语句:
#建立一个名为runoob的数据库
>use runoob
#查看所有的数据库(没有新建库集合会存入test中)
>show dbs
#删除数据库
>use runoob
>db.dropDatabase()
#新建集合
>use test
>db.createCollection("runoob")
#创建固定集合 mycol,整个集合空间大小 6142800 KB, 文档最大个数为 10000 个
>db.createCollection("mycol", { capped : true, autoIndexId : true, size : 6142800, max : 10000 } )
>show collections
#在 MongoDB 中,当你插入一些文档时,MongoDB 会自动创建集合
> db.mycol.insert({"name" : "菜鸟教程"})
#删除集合
>db.mycol.drop()
#将文档插入数据库
>db.col.insert({title:'MongoDB教程'
description:'MongoDB是一个Nosql数据库'
tags:['mongo','database','Nosql']
})
#查询集合中的所有数据
>db.col.find()
#更新文档
>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
#删除文档
#以易读(?)的方式查询数据,findOne()只返回一个文档
> db.col.find({"by":"菜鸟教程", "title":"MongoDB 教程"}).pretty()
>db.col.find({$or:[{"by":"菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()
>db.col.find({likes : {$gt : 100}})
#读取指定数量的文档
> db.col.find({},{"title":1,_id:0}).limit(2)
#跳过指定数量的文档
>db.col.find({},{"title":1,_id:0}).limit(1).skip(1)