MongoDB(1)
来源:互联网 发布:linux怎么退出python 编辑:程序博客网 时间:2024/05/10 23:20
一. 基础
- 文档(document): 键值对的有序集
键:字符串,不可含\0(空字符),空字符用于表示键结束;特殊的.和$;区分大小写顺序;档内不可有重复键.
- 集合(collection):动态,不可含\0,不能以system开头.不应含$;子集合.号分隔
- 数据库:由于数据库终将变成文件系统中的文件,故其命名有很多限制;特殊库admin,local,config;
- 自带javascript shell,独立的client,连接会将库赋值给全局变量db
二. 增删改查
- 增:post={}(json); db.blog.insert(post);
批量batchInsert();(弱事务性) continueOnError(shell不支持,驱动程序都支持),数据校验交给了驱动程序做,仅做了最基本检查
- 删:db.blog.remove({title:”My Blog Post”});
清空drop()
- 改:post.comment = []; db.blog.update({title:”My Blog Post”},post)(添加新列)
db.blog.update({title:”My Blog Post”},{comment:[]})(替换collection)
**带id更新时,必须匹配唯一
- 查:db.blog.find()
db.blog.findOne()
**$lt,$lte,$gt,$gte,$ne,$in,$nin,$or,$not,$mod,$and,$exists,$all,$size,$slice
$where(慢)
- 修改器
- $set用来指定一个更新的字段,不存在则创建;删除$unset ;eg:db.blog.update({title:”My Blog Post”},{“$set”:{comment:[]}})(更新comment)
- $inc增加已有键的值或创建该键,仅能操作数值类型
- $push向已有数组末尾加元素或创建;
- $ne,$addToSet,
- $pop把数组看成栈,可从栈的任何一端删除元素;$pull从数组中删除所有匹配元素
- \修改数组中的元素,定位符$; eg:db.blog.update({“comments.author”:”john”},{“\$set”:{comments.\$.author”:”jim”}})
三. 数据类型(在json的基础上,添加了一些新的)
- null
- 布尔
- 数值(默认64位浮点型) 对于整形可用NumberInt,NumberLong
- 字符串
- 日期(json无) new Date() 日期 Date()日期字符串
- 正则表达式(json无)
- 数组 类型可不同
- 内嵌文档
- 对象id(文档的唯一标识,12字节的ID)ObejectId
- 二进制数据(不可直接在shell中使用)
- 代码
四. shell
- help的使用
- 查看函数,eg:db.foo.update
- 执行脚本,mongo script1.js(启动式);load(script1.js)交互式
辅助函数不可在js中使用,改用其对应的javascript函数.eg:use foo,db.getSisterDB(foo);show dbs,db.getMongo().getDBs();show collections,db.getCollectionNames();亦使用脚本将变量注入;
- 创建mongorc.js,其在启动shell时自动运行,重写
- shell中设置EDITOR=”/usr/bin/emacs(编辑器路径)”,可编辑变量,可用变量替换怪异的值
五. 查询(cursor)
- var cursor = db.blog.find();cursor.hasNext();cursor.next();cursor.forEach();
- limit
- skip(略过太多,性能差,不可分页)
- sort(混合类型默认顺序最小值,null,数字,字符串,对象,数组,二进制数据,对象id,布尔类型,日期型,时间戳,正则表达式,最大值)
- MongoDB(1)
- Mongodb-1
- mongodb 1
- mongodb (1)
- MongoDB(1)
- 【MongoDB】1、MongoDB for Java
- 1、mongodb:如何安装mongodb
- [MongoDB指导1]Windows下载安装MongoDB
- 学习MongoDB--(1):MongoDB简介
- mongodb入门-1 windows上安装mongodb
- 学习MongoDB--(1):MongoDB简介
- Mongodb学习笔记1-Mongodb的安装
- MongoDB:1-MongoDB和Robomongo安装
- MongoDB 1.6.1发布
- mongodb 架构分析 1
- mongodb实战(1)
- mongodb使用总结1
- mongodb 学习资料-1
- Kotlin Language Documentation for Kindle
- navisworks 改变颜色没有反应
- AJAX教程系列一:环境安装及第一个ajax程序
- 软件版本命名规范(Beta,RC,Release)
- 初识ThinkPHP框架
- MongoDB(1)
- 我的博客1
- SVN不需要上传哪些文件
- CentOS 6.7上使用gdb调试时出现Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.192.el6.x86_64
- 打包遇到错误:missing ios distribution signing identity for XXXXXXXXXX
- TabLayout结合ViewPager使用
- EventBus sticky事件
- 开始学习算法导论
- HDU2046 骨牌铺方格