设为首页 收藏本站
查看: 975|回复: 0

[经验分享] MongoDB初识

[复制链接]

尚未签到

发表于 2018-10-28 07:43:16 | 显示全部楼层 |阅读模式
  近年来数据库界最红的无疑是noSQL了,大佬oracle也开始搞了。对于非关系型数据库我还不是很了解,因此开始学习比较好上手的mongoDB好了。定时的做笔记也是学习的十分好的习惯。
  1 数据库软件的安装。其实MongoDB(windows版本)是绿色的。这是非常好的事情,不用等待好久去安装了。在官网上(http://www.mongodb.org/downloads)就可以下载,然后解压到本地就可以了。这里我解压到了E:\MongoDB下。
  2 数据文件路径。和所有的数据库一样,数据的存储要有专门的数据存储目录(windows下叫做文件夹的比较多)。在bin目录底下能看到很多很多的可执行文件,其中mongod.exe就是用来设置路径的,它的命令很简单,这里以E:\MongoDB\db为路径,那么命令这样写就可以了:E:\MongoDB\bin>mongod.exe --dbpath=E:\MongoDB\db。然后会出现一大堆的提示,如图,但是这些基本上不需要看:

  文件如下:

  3 开始使用。数据文件路径设置OK以后就可以开始使用了,可执行文件:mongo.exe。这样就会进入提示符界面,就像是sqlplus下操作oracle一样简单了。如下图:

  4 基本的数据库操作。数据库中最基本的操作无非就是增删改查,不管是谁家的数据库,要是没有这四个功能,那就是个残废数据库。Mongo中我现在还没有见到表的概念,但是与之具有差不多相同功能的就是collection了。比如说上图中,test库下就有两个collections,其中那个foo下面有我以前插好的数据,现在查一把:
  db.foo.find()。会出现:

  这其中,根据我现在的理解,数据库的记录很像是xml的键值,name就是键,而“Tom”就是键值;age是键,而“30”就是键值。collection不像表那样,不管你Tom有没有相关的Sex记录,又要有Sex那一列,也不像表那样,age列必须是同一种数据类型,否则再插入的时候会给你自动进行类型转换。这里的Tom没有关于Sex的记录,就没有;这里的Jerry年龄被记录成了数字型,而Tom的年龄则是字符型,也就是说一个collection代表了一类信息的集合,但并不是每一条记录都完全被规定了形制,而是很自由的存在。
  闲话少叙,下面是增:db.foo.insert({"name":"Obama","age":"50","sex":"male","job":"president"});

  中间那行不慎写错了,不好意思。可以看到增加记录确实有点麻烦了,因为不是给固定形制的表中插东西,所以每次都得把键也写上,后面跟着键值。
  下面是改:db.foo.update({"name":"Obama"},{"nation":"USA"});

  可以看到,改的很彻底。
  删除操作:db.foo.remove({"nation" : "UDA"}):

  这个数据库有点危险的地方就是增删改操作竟然不用commit。直接就没有了。或许在我以后的学习中能接触到相关的内容。慢慢沉下心来学习吧。
  还有很多很强大的功能等着我去探索。希望读到我这篇博文的人们能喜欢noSQL,喜欢Mongo。
  上图中的命令行工具是PowerCMD,是windows命令行工具的增强,非常好用,推荐大家使用,比黑框框要好用得多了。

  免费的,百度搜索就能找到。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-627288-1-1.html 上篇帖子: Mongodb最佳实践及使用问题 下篇帖子: 写给MongoDB开发者的50条建议Tip14
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表