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()		#查询所有用户

 

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

时间: 2024-08-03 19:36:05

MongoDB数据库sql命令操作的相关文章

mongoDB与sql聚合操作对应图

SQL Terms, Functions, and Concepts MongoDB Aggregation Operators WHERE $match GROUP BY $group HAVING $match SELECT $project ORDER BY $sort LIMIT $limit SUM() $sum COUNT() $sum join No direct corresponding operator; however, the $unwindoperator allows

mysql数据库和mongodb数据库的相关操作以及两个数据库的区别

在docs命令中执行数据操作 MySQL数据库 先启动MySQL服务器  net start mysql 进入MySQL服务器MySQL -uroot -p(这里写你的数据库密码) (-P是从哪个端口进) 我第一次操作是就是因为电脑上 有 MySQL  MySQL57 MySQLla 三个服务 引起端口冲突 导致 我 找不到相应的数据 数据库操作 create database   创建数据库 show databases   显示MySQL服务上的数据库 use  数据库          使

MongoDB数据库文档操作

前面的话 本文将详细介绍MongoDB数据库关于文档的增删改查 插入文档 要将数据插入到 MongoDB 集合中,需要使用 MongoDB 的 insert()或save()方法,还有insertOne()或insertMany()方法 [insert()] insert()命令的基本语法如下 db.COLLECTION_NAME.insert(document) 在插入的文档中,如果不指定_id参数,那么 MongoDB 会为此文档分配一个唯一的ObjectId._id为集合中的每个文档唯一的

使用Javascript进行Mongodb数据库的远程操作

最近在工作中遇到了这么个问题,在软件开发过程中自己在测试服务器上创建了mongodb数据库,开发工作一切都很顺利,但是要上线时,需要提供运行脚本,以保证在现网的数据库中创建和更新数据库.该怎么做呢? 以前没有学过mongodb,更没有学过脚本,于是从百度上和mongodb的官网寻找答案,原来mongodb是可以通过javascript执行命令的,而且mongodb中的指令基本都可以在js脚本中直接原封不动的书写.如下所示: conn = new Mongo(); db = conn.getDB(

mysql数据库常规命令操作

1.MySQL数据库导出命令 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名     mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql3.导出一个数据库结构  mysqldump -u wcnc -p

Python连接MongoDB数据库并执行操作

环境设置: [[email protected] ~]# cat /etc/redhat-release  CentOS release 6.9 (Final) [[email protected] ~]# python -V Python 2.6.6 1.首先确保,Mongodb数据库运行 2.安装pymongo模块 官网:https://pypi.python.org/pypi/pymongo/(按需下载) [[email protected] src]# wget https://pypi

java对mongodb数据库进行数据操作

1 package mongodb; 2 3 import java.io.ByteArrayOutputStream; 4 import java.io.IOException; 5 import java.io.ObjectOutputStream; 6 import java.lang.reflect.Field; 7 import java.util.ArrayList; 8 import java.util.HashMap; 9 import java.util.Iterator; 1

Hive常用的SQL命令操作

Hive提供了很多的函数,可以在命令行下show functions罗列所有的函数,你会发现这些函数名与mysql的很相近,绝大多数相同的,可通过describe function functionName 查看函数使用方法. hive支持的数据类型很简单就INT(4 byte integer),BIGINT(8 byte integer),FLOAT(single precision),DOUBLE(double precision),BOOLEAN,STRING等原子类型,连日期时间类型也不

MongoDB 数据库与 MySQL 操作

左边是mongodb查询语句,右边是sql语句.对照着用,挺方便. db.users.find() select * from users db.users.find({"age" : 27}) select * from users where age = 27 db.users.find({"username" : "joe", "age" : 27}) select * from users where "us