MongoDB 笔记
首先我们使用 MongoDB 需要去启动 MongoDB:
sudo service mongodb start
之后通过 shell 命令连接 MongoDB 服务:
mongo
MongoDB 基础操作
// 显示有多少个数据库
show dbs
// 使用数据库 数据库名字叫user
use user
// 在 user 数据库的 user 表中插入一条数据
db.user.insert("name":"zhangsan")
// 查看所使用的数据库有的集合(表)
show collections
// 查看user表的数据
// .findOne() 查询一条
db.user.find()
// 可以按需查找
// $gt 表示 >, $lt 表示 <, $gte 表示 >=, $lte 表示 <=,
// $or 表示或
// 查找user表中 40>=age >20 的数据 或者 name 为 张三 的数据
db.user.find({$or:{"age":{$gt:20,$lte:40},"name":"zhangsan"}})
// 模糊查询 ^+字符表示以该字符开头 ,字符+$ 表示以该字符结尾的
//如: 查找user 表中 name 中以 zhang 开头的
db.user.find({"name":/^zhang/})
// 第二个参数用来查询指定的列数据 如只显示 name 这一列
db.user.find({},{name:1})
// .sort() 排序 1升 -1降 如:按年龄升序排列
// .slimt(n) 查询前n条数据
// .skip(n) 跳过n 条数据
// .count() 查看有多少数据
// .pretty() 美化显示
// .explain("executionStats") 查看查找时间
db.user.find().sort({"age":1})
// 修改数据 第一个参数是修改条件 第二个参数是要变更的内容(不写$set 表示替换),第三个参数表示更新多条
// 把 name 为 zhangsan 的数据 的age 变为 12
db.user.update({"name":"zhangsan"},{$set:{"age":12}}, true)
// 删除数据 第一个参数是删除条件,第二个参数{justOne:true}只删除一条
db.user.remove()
// 删除数据库, 需要在该数据库下执行
db.dropDatabase()
// 删除集合(表),删除了user表
db.user.drop()
mongodb 进阶
// 设置索引 主要用来优化查询速度
// 给 user 表的 username 字段设置索引 1表示升序 -1 表示降序
db.user.ensureIndex({"username":1})
// 设置复合索引 (单独查询age 并不会命中索引)
db.user.ensureIndex({"username":1,"age":-1})
// 设置唯一索引 (不可以设置重复值)
db.user.ensureIndex({"userid":1},{"unique":true})
// 获取当前集合索引
db.user.getIndex()
// 删除索引
db.user.dropIndex({"username":1})