MongoDB学习笔记
2016-05-30 21:42
591 查看
脚本交互操作
MongoDB数据类型
修改器
"$set"修改器
插入文档
db.test.insert({"name" : "liyongjie"})
使用修改器添加或修改
db.test.update({"name" : "liyongjie"} , {"$set" : {"age" : 22}}) //添加age为22
修改age
db.test.update({"name" : "liyongjie"} , {"$set" : {"age":23}}) //修改age为23
使用"$unset"移除age
db.test.update({"name":"liyongjie"} , {"$unset" : {"age" : 1}}) //移除age
"$inc"修改器
增加数字类型的字段
db.test.update({"name" : "liyongjie",{"$inc" : {"age" : 1}}}) //使用负数减少计数
查询时数据增加1
db.test.find()
数组修改器
"$push"
db.test.update({"name" : "liyongjie"} , {"$push" : {"friends" : "小红"}})
"$addToSet"
db.test.update({"name" : "liyongjie"} , {"$addToSet" : {"friends" : "小明"}}) //添加不重复的项
也可以使用"$ne"进行条件过滤,如下:
db.test.update({"friends" : {"$ne":"小明"}} , {"$push":{"friends":"小明"}})
"$each"
db.test.update({"name":"liyongjie"} , {"$push" : {"friends" : {"$each" : ["小花", "小李"]}}}) //连续添加多项
"$pop"
db.test.update({"name" : "liyongjie"},{"$pop" : {"friends" : 1}}) //从末尾删除数组中的一项
"$pull"
db.test.update({"name" : "liyongjie"} , {"$pull" : {"friends" : "小花"}}) //删除数组中匹配的项
定位操作符"$"
数组名称(如friends)点下标可以定位到数组某一项,点$可以匹配到第一项
命令 | 描述 |
mongod --dbpath | 启动数据库 |
mongo | 连接数据库 |
help | 显示帮助 |
db.help() | 数据库级别的帮助 |
db.foo.help() | 集合的帮助 |
db | 显示当前数据库 |
show dbs | 显示所有数据库 |
show collections | 显示当前数据库的集合 |
show users | 显示当前数据库的用户 |
use dbname | 切换数据库 |
db.getCollection("name") | 得到数据库集合 |
db.CONNECTION_NAME.drop() | 删除名为CONNECTION_NAME的集合 |
| |
db.test.find() | 查询集合所有文档 |
db.test.findOne() | 查询集合一个文档 |
db.test.find().limit(100) | 查询前100个文档 |
db.test.insert({}) | 在集合中添加新文档 |
db.test.update({},{}) | 在集合中更新文档 |
db.test.remove({}) | 在集合中删除文档 |
db.test.save(doc) | 同步doc文档到数据库 |
…… | |
MongoDB数据类型
数据类型 | 描述 |
null | 表示空值或不存在 |
布尔 | true 或 false |
32位整数 | js不支持,在shell中转换为浮点数 |
64位整数 | js不支持,在shell中转换为浮点数 |
64位浮点数 | js支持 |
字符串 | UTF-8 |
符号 | js不支持,在shell中转换为字符串 |
对象id | 文档的12字节的唯一ID |
日期 | 从标准纪元开始的毫秒数,不存储时区 |
正则表达式 | 采用js正则表达式 |
代码 | 可以包含js代码 |
二进制数据 | shell中无法使用 |
最大值 | BSON包括一个特殊类型,表示可能的最大值 |
最小值 | BSON包括一个特殊类型,表示可能的最小值 |
未定义 | js中的undefined |
数组 | js中的[] |
内嵌文档 | js中{"s" : {"a" : "c"}} |
修改器
"$set"修改器
插入文档
db.test.insert({"name" : "liyongjie"})
使用修改器添加或修改
db.test.update({"name" : "liyongjie"} , {"$set" : {"age" : 22}}) //添加age为22
修改age
db.test.update({"name" : "liyongjie"} , {"$set" : {"age":23}}) //修改age为23
使用"$unset"移除age
db.test.update({"name":"liyongjie"} , {"$unset" : {"age" : 1}}) //移除age
"$inc"修改器
增加数字类型的字段
db.test.update({"name" : "liyongjie",{"$inc" : {"age" : 1}}}) //使用负数减少计数
查询时数据增加1
db.test.find()
数组修改器
"$push"
db.test.update({"name" : "liyongjie"} , {"$push" : {"friends" : "小红"}})
"$addToSet"
db.test.update({"name" : "liyongjie"} , {"$addToSet" : {"friends" : "小明"}}) //添加不重复的项
也可以使用"$ne"进行条件过滤,如下:
db.test.update({"friends" : {"$ne":"小明"}} , {"$push":{"friends":"小明"}})
"$each"
db.test.update({"name":"liyongjie"} , {"$push" : {"friends" : {"$each" : ["小花", "小李"]}}}) //连续添加多项
"$pop"
db.test.update({"name" : "liyongjie"},{"$pop" : {"friends" : 1}}) //从末尾删除数组中的一项
"$pull"
db.test.update({"name" : "liyongjie"} , {"$pull" : {"friends" : "小花"}}) //删除数组中匹配的项
定位操作符"$"
数组名称(如friends)点下标可以定位到数组某一项,点$可以匹配到第一项
相关文章推荐
- nodejs操作mongodb
- MongoDB快速入门学习笔记5 MongoDB的文档修改操作
- Spring与MongoDB
- MongoDB基本管理命令
- 在ubuntu下安装mongodb
- MongoDB 数据类型
- (转)mongoDB 禁用大内存页面 transparent_hugepage=never
- MongoDB Capped Collections
- MongoDB【第一篇】MongodDB初识
- MongoDB基本使用和操作
- php+mongodb开发环境搭建(linux+apache+mongodb+php)
- MongoDB系列(二):C#应用
- MongoDB 基本命令
- mongodb 数据库操作--备份 还原 导出 导入
- MongoDB存储引擎
- mongodb状态
- Mongodb数据导出工具mongoexport和导入工具mongoimport介绍
- PyCharm 如何安装python第三方库及插件(mongodb)?
- 玩转mongodb(二):mongodb基础知识
- 【MongoDB】window环境下MongoDB64位安装