继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

2018-08-09Mongodb安装、数据库命令、数据类型

慕虎7371278
关注TA
已关注
手记 1259
粉丝 203
获赞 873

启动问题:
遇到了启动不成功,最后一句报错的结尾是terminating,就创建一个当前目录下的mongod文件。

问题1. exception in initandlisten 29 data directory /data/db not found

解决思路:用root权限创建db文件。sudo mkdir -p /data/db

不需要占用一个终端的启动:
sudo service mongod start
查看是否启动成功:
ps ajx|grep mongod
如果启动成功会显示:


webp

启动成功显示


此时如果再启动便会报错:
sudo mongod
原因在于地址被占用,已经有一个终端占用了端口。

配置文件在/etc/mongod.conf
查看:vi /etc/mongod.conf
发现默认端口是27017
*启动服务器端命令是mongod,启动客户端命令是mongo
*MySQL的客户端和服务端都是一个命令,Mongo要分开

开启Mongo,显示的界面:


webp

默认数据库是test

解压一个命令tar -zxvf 文件名开头+Tab

Mongo中创建数据库只要use就行了,不需要create,这时候在物理上还是不存在的,只在逻辑上存在。

集合创建

  • 语法

db.createCollection(name, options)
  • name是要创建的集合的名称

  • options是一个文档,用于指定集合的配置

  • 选项参数是可选的,所以只需要到指定的集合名称。以下是可以使用的选项列表:

  • 例1:不限制集合大小

db.createCollection("stu")
  • 例2:限制集合大小,后面学会插入语句后可以查看效果

  • 参数capped:默认值为false表示不设置上限,值为true表示设置上限

  • 参数size:当capped值为true时,需要指定此参数,表示上限大小,当文档达到上限时,会将之前的数据覆盖,单位为字节

db.createCollection("sub", { capped : true, size : 10 } )

查看当前数据库的集合

  • 语法

show collections

删除

  • 语法

db.集合名称.drop()

数据类型

  • 下表为MongoDB中常用的几种数据类型:

  • Object ID:文档ID(作用是用来做唯一标识的,不需要我们来维护,每个文档中都有,自己来维护也可以,但不能保证不重复)

  • String:字符串,最常用,必须是有效的UTF-8

  • Boolean:存储一个布尔值,true或false

  • Integer:整数可以是32位或64位,这取决于服务器

  • Double:存储浮点值

  • Arrays:数组或列表,多个值存储到一个键

  • Object:用于嵌入式的文档,即一个值为一个文档(我们在Nosql中是无法存储关系的,但可以嵌入一个文档用以保存关系)

  • Null:存储Null值

  • Timestamp:时间戳

  • Date:存储当前日期或时间的UNIX时间格式

object id

  • 每个文档都有一个属性,为_id,保证每个文档的唯一性

  • 可以自己去设置_id插入文档

  • 如果没有提供,那么MongoDB为每个文档提供了一个独特的_id,类型为objectID

  • objectID是一个12字节的十六进制数

    • 前4个字节为当前时间戳

    • 接下来3个字节的机器ID

    • 接下来的2个字节中MongoDB的服务进程id

    • 最后3个字节是简单的增量值



作者:菩灵
链接:https://www.jianshu.com/p/deb22864fbc1


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP