mongoDB的常用指令

数据库操作
创建并选择:(有则选,无则建)

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")
获取指定字段的所有数据,去重并以数组的形式返回
上一篇:node.js封装mongodb增删改查与调用


下一篇:入坑kaggle第四天- Titanic - Machine Learning from Disaster模型优化(进阶10%)