NOSQL基础
一、mongoDB介绍和使用
1、分布式文件储存数据库,使用C++开发的,可以存储任意数据(文件),允许在服务器端执行脚本,使用JSON形式储存数据{key:value}
2、支持的编程语言有:PHP 、ruby、python、C++、C#、Java等等
3、使用db表示当前数据库
4、安装:apt install mongodb / 源码安装
5、运行:mongo 启用端口 27017
6、管理工具:NoSQL Manager for MongoDB 、Navicat
7、https://www.cnblogs.com/phpper/p/9196870.html windows 系统上PHP7安装mongodb 扩展
二、MongoDB中的一些概念:
database 数据库
collection 数据集合(表)
document 文档(行)
field 域(字段)
index 索引
不支持 表连接
数据库 ----> 集合----> 文档----> 域
MongoDB 中可以有多个数据库,不同的数据库可以放置在不同的文件中
系统数据库:
admin:相当于root数据库,该数据库是一个高权限的数据库,在该数据库中可以执行全部的命令
local:存储本地服务器的集合
config:与数据库的分片有关
三、常用命令:
show dbs 查看所有数据库
use admin 切换数据库
db 当前数据库
use 数据库名 创建数据库
db.dropDatabase() 删除当前使用的数据库
db.createCollection(‘集合名’) 创建集合
db.集合名.drop() 删除集合 返回值是布尔
show collections 查看集合
db.集合名.insert({key1:value1,key2:value2}) 创建文档 ,k1和k2是域,v1和v2是域对应的值,域可以不加单双引号
db.users.find().pretty() (可读性高)查看users集合下的所有文档
db.集合名.remove({}) 删除文档
db.集合名.update({被更新的对象},{$set:{更新的内容}}) 更新文档,默认只更新第一条发现的数据
全部更新:db.集合名.update({被更新的对象},{$set:{更新的内容}},{muti:ture})
四、查询数据-条件
$lt => < $lte => <= $gt => > $gte => >= $ne => != $regex 正则 : => =
等于:{k:v}
小于:{k:{$lt:v}} {id:{$lt:20}} :id小于20的
大于:{k:{$gt:v}}
小于等于:{k:{$lte:v}}
大于等于:{k:{$gte:v}}
不等于:{k:{$ne:v}}
多条件使用,隔开 db.集合.find({},{}) 多条件是与的关系
或的关系 db.集合名.find({$or:[{},{}]})
限制查询的结果:db.集合名.find({k1:v1,k2:v2}).limit(数字)
跳过前几个来显示查询:db.集合名.find({k1:v1,k2:v2}).skip(1) 跳过第一列
排序:db.集合名.find({k1:v1,k2:v2}).sort({k:1}) 升序
db.集合名.find({k1:v1,k2:v2}).sort({k:-1}) 降序
五、数据类型
布尔
数字
字符
浮点数
数组
内嵌文档
null
最新文章
- 用于svn添加当前目录下所有未追踪的文件,和删除所有手动删除的文件的脚本
- Android学习---通过内容提供者(ContentProvider)操作另外一个应用私有数据库的内容
- 一个servlet处理来自多个不同页面的请求!
- iOS开发中常用到的宏定义
- HDU 5644 (费用流)
- Git 基础学习篇(应用-windows篇)
- js 重载i
- sirius的学习笔记(2)
- wpf 创建动画三种方式
- [SDOI2015]权值
- Android EditText setOnClickListener事件 只有获取焦点才能响应 采用setOnTouchListener解决
- vim ---- 自己主动的按钮indent该命令
- keepalive配置文件详解
- java.lang.NoClassDefFoundError: com/sun/image/codec/jpeg/JPEGCodec
- Cocos Creator学习三:生命周期回调函数
- Spring cloud的Maven插件(一):repackage目标
- Lodop“对象不支持SET__LICENSES属性或方法”SET__LICENSES is not a function”
- 解决Fatal error in launcher: Unable to create process using &#39;";&#39;
- 1. eclipse异常问题解决办法
- javascript中所有函数的参数都是按值传递的