MongoDB学习笔记

说起来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的判断符基本一样,没什么变化的。

总结

这种实操类的写再多也可能有没写到的地方。只能靠时间去慢慢积累了。