码迷,mamicode.com
首页 > 数据库 > 详细

MongoDB数据库sql命令操作

时间:2019-08-24 17:01:49      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:查看   query   express   有用   source   dmi   class   expr   bind   

概念

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命令操作

标签:查看   query   express   有用   source   dmi   class   expr   bind   

原文地址:https://www.cnblogs.com/fancyblog/p/11405087.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!