MongoDB数据库sql命令操作

Posted fancyblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB数据库sql命令操作相关的知识,希望对你有一定的参考价值。

概念

RDBMS(关系型数据库管理系统)MongoDB
Database(数据库) Database(数据库)
Table(表) Collection(集合)
Record(记录) Document(文档)

库级操作

use DATABASE			#切换/创建库		
show dbs			#查看所有数据库(空库不会显示)
db.dropDatabase()		#删除当前数据库
db				#查看当前所在库

#集合操作

db.createCollection(name, options)	#创建集合   用引号引起来
capped:类型为boolean,如果为true则为创建一个固定大小的集合,当集合中的数据条目达	到最大时自动覆盖以前的条目。
size:指定集合字节最大值,当capped为true时需要指定。单位为byte
 max:指定集合中数据的最大条数。	
    db.createCollection(
    "BizUser",
    capped:1,autoIndexID:1,size:6142800,max:10000
	)

show collections#查看当前数据库的集合

db.集合名称.drop()#删除集合
  

文档操作

##插入

db.集合名称.insert(document)#插入文档 集合不存在会自动创建,不能插入重复id的数据

db.student.insert(_id:1, name:句号‘, age:18)


db.student.insert([
    name:‘juhao‘, sex:男‘, age:18,
    name:‘nanbei‘, sex:男‘, age:19,
    name:‘budong‘, sex:男‘, age:20,
])

查询

db.集合名称.find()			#查询所有
db.集合名称.find().pretty()		#结构化显示

db.集合.find(name:10).pretty()			where name = 10
db.集合.find(name:$ne:10 ).pretty()		where name != 10
db.集合.find(name:$gt:10 ).pretty()		where name > 10
db.集合.find(name:$lt:10 ).pretty()		where name < 10
#后面加个e就是加等于



#and逻辑
$and:[expression1, expression1, ...]   
#or逻辑
$or:[expression1, expression1, ...]   


#where sex=‘男‘ and age > 18
db.table.find(
    $and:[
        sex:男‘, age:$gt:18
    ]
)


#where sex=‘女‘ or age =18
db.table.find(
    $or:[
        sex:女‘, age:18
    ]
)


#where (sex=‘女‘ and age=18) or (sex=‘男‘ and age>18)
db.table.find(
    $or:[
        $and:[sex:女‘, age:18],
        $and:[sex:男‘, age:$gt:18]
    ]	
)

更新


db.table.update(sex:男‘,[age:20)	#更新第一条找到的文档全部值  无multi

db.table.update(sex:男‘, $set:age:666, agee:6666)  #修改第一条找到的文档,不存在就添加
                           
db.table.update(sex:男‘, $set:sex:女‘, multi:true)#更新全部

删除

db.集合名称.remove( <query>, <justOne> )
db.table.remove(age:18)#删除所有满足条件的
db.table.remove(sex:男‘, justOne:true)#删除一条

mongodb配置

vim /etc/mongodb.conf
    dbpath			#数据存放的地址
    logpath			#日志存放的地址
    bind_ip = 0.0.0.0		#监听IP
    auth = True			#权限认证

mongodb权限

MongoDB默认设置为无权限访问限制

#进入user admin

#创建管理员用户,用来管理用户,可以通过这个角色来创建、删除用户,用户只具有管理用户和角色的权限。
db.createUser(
    user:‘juha‘,
    pwd:‘123456‘,
    roles:[role:"userAdminAnyDatabase", db:"admin"]
)
#role:指定用户的角色,db指定库


db.createCollection(‘student‘)	#创建一个库
use student			#进入

#给该库添加用户
db.createUser(			
    user:‘test‘,
    pwd:‘test‘,
    roles:[
        role:‘readWrite‘,
        db:‘student‘
    ]
)


show users		#查看当前库下的用户
db.dropUser(‘username‘)	#删除某个用户
db.dropAllusers()	#删除当前库的所有用户
db.getUsers()		#查询所有用户

 

以上是关于MongoDB数据库sql命令操作的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB常用命令

MongoDB常用操作命令

MongoDB命令及SQL语法对比

SQL与MongoDB数据库的对应关系图表

mongodb命令

MongoDB基本命令使用