说起来MongoDB是和Redis相类似的NoSQL数据库,但是你让我说他们之间有什么不同,我还真的说不出来,感觉一个更强调键值组织成的json格式数据组成的所谓“文档”,另一个单纯就是存放个键值对、列表这种数据结构吧。
安装的版本是windows版本,安装这部分内容就不提了,百度即可。本着能把语句学到就是胜利的原则,先学再说。
创建和删除数据库
db这两个字母就可以显示出当前使用的数据库,show dbs就可以查看当前所有的数据库名字,而use 数据库名可以切换/创建数据库,所谓有就切换,没有就创建,就这么简单。
删除当前所在数据库使用db.dropDatabase(),务必看清楚当前所在的数据库,免得误删。
创建和删除集合
集合是在数据库中的,算是文档的集合,很像关系型数据库的一张表吧。文档简单解释就是一串json数据,差不多存放了一个对象的数据,所以文档差不多就是一群有相似特征的对象的集合。
使用db.createCollection(name,options)来创建一个集合。name其实没什么说的,就是options几个参数,像是限制了集合的大小cappped和size、限制了包含文档的最大数量max等。
使用show collections/tables来查看已存在的集合名。使用db.xxx.find()列出所有xxx集合的文档。
甚至不用自己创建集合,当你使用db.xxx.insert()插数据时,直接就会建一个xxx集合。
使用db.xxx.drop()删除xxx这张集合表。
插入、删除和修改文档
简单来说文档对应的就是关系型数据库的表里的一个条目。
使用db.xxx.insert/insertOne()向xxx集合插入一条文档,使用db.xxx.insertMany()向集合插入多条文档。
修改使用db.xxx.update(),主要是两个参数大括号,一个是要修改的字段,另一个是修改后的字段。
db.xxx.deleteOne/deleteMany()可以删除一条/多条文档。
查找上面说过了。
创建和删除索引
db.xxx.createIndex()创建集合的索引,参数基本上以列名:1/-1的格式来写,标识升序还是降序创建索引,可选参数暂时略过,下次再说。
使用db.xxx.dropIndex()来删除集合的索引。
关系判断符
gt、lt、gte、lte,说实话这些判断符和elasticsearch的判断符基本一样,没什么变化的。
总结
这种实操类的写再多也可能有没写到的地方。只能靠时间去慢慢积累了。