MongoDB :
系统自带的库为
1.config
2.test
3.admin
linux 环境下的命令集合:
mongo localhost:27017 mongo 连接本地mongoDB服务
show dbs 展示所有的数据库
show collections 展示所有的集合
use admin 使用数据库
db.auth() 进行用户权限认证
db.status() 查看数据库状况,多用于分片
db.user.drop() 删除集合
删除数据库
use temp
db.runCommand( { dropDatabase: 1 } )
官网:https://docs.mongodb.com/manual/reference/command/nav-administration/
创建用户:
db.createUser (
{
user : “reportsUser” ,
pwd : “12345678” ,
roles : [
{ role : “read” , db : “reporting” },
{ role : “read” , db : “products” },
{ role : “读“ , db : ”sales“ },
{ role : ”readWrite“ , “accounts” }
]
}
)
修改密码:
db.changePassword("用户名称","新密码");//注意需要权限大于修改用户的用户权限
查看所有用户:需要到admin上必须数据库管理员权限才能获取比如root
db.system.users.find().pretty()
查看用户后,一般可以做删除:
db.system.users.remove({user:"用户名称"})
常用命令结束:开始查询命令:
集合默认生成的索引:_id -->主键索引,如需获取索引的知识,下章介绍
============简易查询============
1.查询_id不为空的语句
db.集合名称.find({"_id":{$ne:null}})
2.查询_id
db.集合名称.find("_id":objectId("sssss"));
3.查询大于gt,小于lt,不等于,大于等于gte 小于等于lte,不等于 ne
例子:
大于:
db.集合名称.find({"num":{$gt:12}})
小于:
db.集合名称.find({"num":{$lt:12}})
等于:
db.集合名称.find({"num":12})
4.模糊查询:
db.集合名称.find({name:{$regex:"正则表达式"}})
5.查询分页
db.getCollection('集合名称').find({字段名称:{$regex:".*"}}).skip(开始下标).limit(每页显示数量)
6.显示结果的条数
db.集合名称.find({}).count()
7.in 语句查询
db.集合名称.find({$in:[{},{}]})
8.and 语句查询
复合语句查询
and or 代表的是这个框内的所有条件是and 还是or 里面还可以嵌套or and 代表有(Rsd=11 or name=111)
db.getCollection(‘Insurance’).find({
or:[{Rsd:12131},{City:12133}]})
查询注意事项:
查询是带有类型:
int32 DECIMAL128 ISODATE() Long
需要强转:比如: numberInt numberLong numberDecimal ISODATE()
ISODate 格林尼治时间 六个小时
添加命令
· 1.插入
db.集合名称.insert({})
2.插入一条
db.集合名称.insertOne({})
2.插入多条
db.集合名称.insert([{},{},{},{},{}])
3.插入多条
db.集合名称.insertMany([{},{},{},{},{}])
可以用for 循环添加:
for(i=0;i<88;i++){db.集合名称.insert({})}
添加注意:
拿insert为例,如果不加中括号就是添加一条。
比如说:insert({},{},{}) 不会报语法错误,但只插入第一条。
修改命令:
1.更新匹配条件的第一个对象
db.collection.update(, , )
db.collection.updateOne(, , )
db.collection.replaceOne(, , )
db.集合名称.updateOne (
{ item : “paper” },//查询条件
{
currentDate : { lastModified : true } /
}
)
使用
currentDate运算符将lastModified字段的值更新为当前日期。如果 lastModified字段不存在,
currentDate请见。
2.更新所有
db.集合名称.updateMany(, , )
options:
upsert : < boolean > ,
writeConcern : < document >
collation : < document >
官网说的很详细了:
https://docs.mongodb.com/manual/reference/method/db.collection.replaceOne/#db.collection.replaceOne
删除命令:
1.删除所有匹配条件值
db.collection.deleteMany({查询条件})
2.删除匹配条件的第一个
db.collection.deleteOne({查询条件})