数据库操作
创建并选择:(有则选,无则建)
use dbName
查询
db
查看当前数据库
show dbs
查看所有数据库
注:在查看所有数据库时,不显示空数据库
显示数据库信息
db.dropDatabase()
删除数据库 -- 慎用
**集合的操作**
创建集合
db.createCollection(name, options)
name:集合名,字符
options:可选,可设置属性
删除集合:
db.colName.drop()
查看所有集合:
show collections
查看当前集合名称
db.getCollectionNames()
db.colName.drop()
查看所有集合:
show collections
查看当前集合名称
db.getCollectionNames()
数据的操作
**增**
插入单条:db.colName.insert({})
插入多条:db.colName.insert([{},{},...])
插入单条:db.colName.insertOne({})
插入多条:db.colName.insertMany([{},{},…])
**删**
删除单条数据:db.colName.deleteOne({key:val})
删除多条数据:db.colName.deleteMany({key:val})
删除所有数据:db.colName.deleteMany({})
**改**
根据指定的键值对条件:
修改单条数据:db.colName.updateOne({key:val},{$set:{key1:newVal,key2:newVal}})
修改多条数据:db.colName.updateMany({key:val},{$set:{key1:newVal,key2:newVal}})
Num为正自增,为负自减
自增/自减单条数据:db.colName.updateOne({key:val},{$inc:{key1:num}})
自增/自减多条数据:db.colName.updateMany({key:val},{$inc:{key1:num}})
**查**
基本查询所有数据:
db.colName.find()
格式化查询所有数据:
db.colName.find().pretty()
指定键值对条件查询:
db.colName.find({key:val})
指定条件查询(可以为{}表示所有数据),并限制字段显示:
db.colName.find({key:val},{userName:1, pass:1})
inclusion模式,指定返回的键,不返回其他键
db.colName.find({key:val},{userName:0, pass:0})
exclusion模式,指定不返回的键,返回其他键
注意:_id默认返回,如果不需要,需主动设置_id:0
分页查询:
db.colName.find({key:val}).limit(num).skip(start)
num:表示个数
start:表示起始索引,默认为0
排序查询:
db.colName.find({key:val}).sort({key:1})
1升序,-1降序
区间查询: - 价格区间
db.colName.find({ key: {$lt:val1, $gt:val2} })
小于val1,大于val2
db.colName.find({ key: {$lte:val1, $gte:val2} })
小于等于val1,大于等于val2
模糊查询: - 搜索
db.colName.find({ key: /val/})
查询key中包含val的数据
db.colName.find({ key: /^val/})
查询key中包含val且以val开头的数据
或查询: - 用户名或手机号登录
db.colName.find({ $or: [{key1:val1},{key2:val2}] })
查询key1为val1或key2为val2的数据
且查询:
db.colName.find({ key1:val1, key2:val2 })
查询key1为val1且key2为val2的数据
获取指定字段的数据: - 分类
db.colName.distinct("key")
获取指定字段的所有数据,去重并以数组的形式返回