MongoDB学习使用 --- 基础

文档

文档是MongoDB的核心概念,文档是键值对的一个有序集。文档被表示为对象:

{"greeting":"Hello World", "foo":3}

命名

  • 键不能含有\0(空字符)
  • .和$具有特殊意义,属于保留字符
  • 区分类型和大小写
  • 不可有重复的键
  • 文档中键值对是有序的,通常MongoDB会对字段重新排序
    数据类型
    MongoDB和JSON类似,支持的格式比JSON多。
  • null
  • 布尔值
  • 数值
  • 字符串
  • 日期{"X" : new Date()}
  • 正则表达式{"X" : /foobar/i}
  • 数组
  • 内嵌文档{"X" : {"foo" : "bar"}}
  • 对象id,文档的唯一标识
  • 二进制数据
  • 代码{"X" : function() {}}

集合

集合就是一组文档。如果将MongoDB的文档比喻为关系型数据库的一行,集合就是一张表。
动态模式
集合是动态模式的。一个集合里面的文档可以是各式各样的。

{"greeting" : "Hello world"}
{"foo" : 5}

命名

  • 集合名称不能为空字符串
  • 集合名不能包含\0字符
  • 集合名不能以“system.”开头,这个系统集合保留的前缀
  • 集合中不能包含字符’$’

数据库

多个集合组成MongoDB数据库
保留数据库

  • admin:类似“root”数据库
  • local:这个数据库永远不会被复制,一台服务器上的所有本地集合都可以存储在这个数据库中
  • config:用于分片设置,分片信息会存在这个数据库中。
    命名
  • 不能是空字符串
  • 只能使用ASCII中的字母和数字
  • 区分大小写
  • 最多64哥字节

启动MongoDB

运行mongod命令启动数据库服务器,没有参数的情况下数据库默认目录/data/db(windows 系统在C:\data\db),如果目录没有读写权限启动会失败。
启动时默认端口27017,并会启动一个HTTP服务器,监听数字比主端口高1000的端口28017,可以通过http://localhost:28017,能获取数据库管理信息。
通过配置文件启动mongod -f xxx.conf。例如:

#数据文件存放目录
dbpath = /usr/local/mongodb4/database/27017
logpath = /usr/local/mongodb4/logs/mongodb-27017.log #日志文件存放目录
logappend = true #日志输出方式
port = 27017 #端口
fork = true #以守护程序的方式启用,即在后台运行
#auth=true #需要认证。如果放开注释,就必须创建MongoDB的账号,使用账号与密码才可远程访问,第一次安装建议注释
bind_ip=0.0.0.0 #允许远程访问,或者直接注释,127.0.0.1是只允许本地访问
replSet=weiyan #副本集名称

MongoDB shell

运行mongo启动shell,启动时shell会连接到服务器的test数据库,并将数据库连接赋值给全局变量db。这个变量是通过shell访问MongoDB的主要入口。
db命令可以知道当前指向哪个数据库:

> db
test

shell中的基本操作

  • 创建insert,可以将一个文档添加到集合中
> db.blog.insert({})
  • 读取findfindOne,可以接受一个查询文档作为限定条件
> db.blog.findOne({})
  • 更新update。接受最少两个参数:第一个限制条件,第二个更新文档
> db.blog.update({条件},  {数据})
  • 删除remove,可以将数据库中的文件永久删除。可以接受一个文档参数作为限制条件,没有就会删除集合所有文档
> db.blog.remove({条件})

参考文献
MongoDB权威指南

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值