MongoDB-开始学习MongoDB(一)
先来看看MongoDB的优缺点:
优点:简单的扩展、快速的读写、灵活的数据类型
缺点:不支持对SQL的支持、支持的特性不够丰富、现有产品不够成熟
应用场景:
适用场景: 持久化缓存层、实时的高效性(读写速度快)、用于文件和对象的存储、高伸缩性的存储、非关系型数据的存储
不适用场景: 高度事务、复杂多表查询
1.安装
http://www.mongodb.org/dr/fastdl.mongodb.org/linux/mongodb-linux-i686-2.4.6.tgz/download
解压: tar -xzf mongodb-linux-i686-2.4.6.tgz
拷贝到指定目录下: cp mongodb-linux-i686-2.4.6 /usr/local/mongodb
启动服务: /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/mongo.log #启动的同时设置数据和日志存储位置 其中锁文件存储在data目录下
开机启动: 把上一句话添加到/etc/rc.local中
关闭服务: pkill mongod
2.进入客户端进行操作
执行/usr/local/mongodb/bin/mongo启动客户端程序
3.入门前知识
以BSON二进制方式存储数据
4.客户端操作详解
数据库和表都为隐式创建, 不用单独创建。
对比普通关系型数据库:
普通数据库: 数据库->表->行记录
MongoDB: 数据库->集合->文档
其中服务器端一个数据库存储: dbname.ns, dbname.0, dbname.1...dbname.n
数据类型:
null, 布尔类型, 32位整数, 64位整数, 64位浮点数, 字符串, ObjectId, 日期(使用的时候如{one: new Date()}), 正则表达式({"one": /abc/}), JS代码({"one": function() {...}}), 数组, 内嵌文档
命令:
魔术方法:
查询时魔术方法在Json内侧, 修改时魔术方法在Json外侧
db; 查看当前数据库
show dbs; 查看所有数据库
show collections; 查看本数据库所有表
增:
每条新增的文档都会有一个"_id"字段
db.cname.insert({name: "John"});
db.cname.save({name: "John"}); #以上两个都是插入, 不过save是根据_id判断是否存在而执行替换或插入; 相当于MySQL的replace into; _id存在则更改, _id不存在则插入;
删:
db.cname.remove({name: "John"});
db.cname.remove();
改:
查:
db.cname.count(0); #参数为0或者1分别表示当计算总条数的时候包不包括查询条件
db.cname.find().count(); #同上 查询出总共有多少条文档
db.cname.sort({name: 1});
db.cname.sort({name: -1}); #根据name进行倒序 上一条为正序
db.cname.find({name: "John"}); #查询出name为John的文档
db.cname.find({name: "John"}, {age: 1, sex: 1, _id: 0}); #查询出name为John的文档, 并且只返回age和sex字段
db.cname.find({age: {$gt: 20}}); #查询出cname中age>20的文档
db.cname.find().limit(4); #查询出几条数据
db.cname.skip(2).limit(3); #跳过几条数据, 与上面一条结合实现分页技术
db.cname.find();
db.cname.remove();
db.cname.update({name: "John"}, {name: "Nali"});
MongoDB-开始学习MongoDB(一)的更多相关文章
- 【MongoDB】学习MongoDB推荐三本书
近期学习mongodb,感觉这三本书写得不错.非常大家分享一下:
- NoSQL之【MongoDB】学习(三):配置文件说明
摘要: 继上一篇NoSQL之[MongoDB]学习(一):安装说明 之后,知道了如何安装和启动MongoDB,现在对启动时指定的配置文件(mongodb.conf)进行说明,详情请见官方. 启动Mon ...
- [转载]MongoDB开发学习(2)索引的基本操作
索引能够极大的提高查询的效率.在数据库中简历索引必不可少. 在MongoDB中可以很轻松的创建索引. 默认索引_id_ 开启MongoDB服务器,创建数据库cnblogs,创建集合Users .(关于 ...
- MongoDB入门学习(一)—— 安装和启动
最近由于工作需要,开始学习MongoDB数据库了.第一篇博文就从这里开始吧,以此记录下学习中的点点滴滴,为自己加油呢! (一) MongoDB简介 网上搜搜了一下:(来源:http://www.run ...
- MongoDB入门学习(一):MongoDB的安装和管理
以前用MySQL数据库,整天都是写大堆大堆的SQL语句,要记住这些SQL关键字都要花好几天时间,写的蛋都爆了,当接触到MongoDB的时候,发现不用写SQL,瞬间觉得高大上,瞬间产生了学习使用它的冲动 ...
- 双刃剑MongoDB的学习和避坑
双刃剑MongoDB的学习和避坑 MongoDB 是一把双刃剑,它对数据结构的要求并不高.数据通过key-value的形式存储,而value的值可以是字符串,也可以是文档.所以我们在使用的过程中非常方 ...
- MongoDB的学习--索引类型和属性(转)
原文链接:MongoDB的学习--索引类型和属性 索引类型 MongDB的索引分为以下几种类型:单键索引.复合索引.多键索引.地理空间索引.全文本索引和哈希索引 单键索引(Single Field I ...
- mongodb基础学习1-基本说明及安装
以前看过一些mongodb的视频,但只看到一半没有看完,也没有同步安装软件动手操作,正好最近没事,打算花点时间从头学习一遍,边学习边动手操作,学习的过程在此进行记录. 好了,下面说一下今天的学习内容. ...
- mongodb数据库学习【安装及简单增删改查】
//@desn:mongodb数据库学习 //@desn:码字不宜,转载请注明出处 //@author:张慧源 <turing_zhy@163.com> //@date:2018/08/ ...
- 孤荷凌寒自学python第六十六天学习mongoDB的基本操作并进行简单封装5
孤荷凌寒自学python第六十六天学习mongoDB的基本操作并进行简单封装5并学习权限设置 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十二天. 今天继续学习mongo ...
随机推荐
- UITableView的headerView展开缩放动画
UITableView的headerView展开缩放动画 效果 源码 https://github.com/YouXianMing/Animations // // HeaderViewTapAnim ...
- css3 实现圆角边框的border-radius属性和实现阴影效果的box-shadow属性
首先我要介绍的是border-radius属性,它的作用是实现圆角边框,其中border-radius:20px;表示,一个’体‘四个角都圆滑20px,其值如果为100px那么圆角度则为最高,如果是正 ...
- 从volatile说到i++的线程安全问题
简介 volatile关键字保证了在多线程环境下,被修饰的变量在别修改后会马上同步到主存,这样该线程对这个变量的修改就是对所有其他线程可见的,其他线程能够马上读到这个修改后值. Thread的本地内存 ...
- 【BZOJ】【2850】【Violet 0】巧克力王国
KD-Tree 问平面内在某条直线下方的点的权值和 我一开始yy的是:直接判这个矩形最高的两个点(y坐标的最大值)是否在这条直线下方就可以了~即判$A*x+B*y<C$... 然而这并不对啊…… ...
- request和request.form和request.querystring的区别
asp中获取传递的参数,一般用request或者用request成员函数request.form,两种方式都可以获取页面表单传递过来的参数值,一直没留意两种方法有什么区别,我一般喜欢用request( ...
- 【属性动画总结】Property Animation
属性动画概述 3.0以前,android仅支持两种动画模式,tweened animation 和 frame-by-frame animation,在android3.0中又引入了一个新的动画系统: ...
- Managed Debugging Assistant 'PInvokeStackImbalance' has detected a problem in 解决方案
because regular C functions work differently than the Windows API functions; their "calling con ...
- XXX全球 IP 地址库
XXX全球 IP 地址库 Bulgaria 93.123.23.1 93.123.23.2 93.123.23.3 93.123.23.4 93.123.23.5 93.123.23.6 93.123 ...
- unity3d插件Daikon Forge GUI 中文教程-3-基础控件Button和Sprite的使用
(游戏蛮牛首发)大家好我是孙广东.官网提供了专业的视频教程http://www.daikonforge.com/dfgui/tutorials/,只是是在youtube上.要观看是须要FQ的. 只是教 ...
- 【Python】在控制台输出不同颜色的文字
今天调程序出了一个极为奇怪的问题,由于控制台输出挺多,就想把问题着重表示一下,具体即是在控制台输出红色文字. 于是在网上搜寻到了这篇:https://www.cnblogs.com/gongxr/p/ ...