MongoDB增删改查

MongoDB增删改查

查询数据库: show dbs

进入数据库: use MYDB

查询数据库中表: show tables

在mongo中创建新的用户 并赋予相应权限:

db.createUser({

user:<name_string>,                   #字符串

pwd:<password_string>, #字符串

roles:[{role:<role_name>,db:<db_name>}]     #数组+对象

})

user文档字段介绍:
user字段,为新用户的名字;
pwd字段,用户的密码;
cusomData字段,为任意内容,例如可以为用户全名介绍;
roles字段,指定用户的角色,可以用一个空数组给新用户设定空角色;
在roles字段,可以指定内置角色和用户定义的角色。

Built-In Roles(内置角色):

  1. 数据库用户角色:read、readWrite;
  2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
  3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  4. 备份恢复角色:backup、restore;
  5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  6. 超级用户角色:root
    // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
  7. 内部角色:__system

创建用户

例如:给admin添加一个root用户
> use admin
switched to db admin

> db.createUser({user:"admin",pwd:"123456",roles:[{role:"root",db:"admin"}]})
Successfully added user: {
	"user" : "admin",
	"roles" : [
		{
			"role" : "root",
			"db" : "admin"
		}
	]
}

mongodb.conf文件中加入 auth=true

验证用户

> use admin
switched to db admin
> db.auth("admin","123456")
 1

删除用户

db.dropUser(<user_name>)    删除某个用户,接受字符串参数

db.dropAllUser()             删除当前库的所有用户

注意: 在mongo4.0版本中 配置用户认证需要在mongod.cfg中

security:
 authorization: enabled

重新启动服务: mongod -f "C:Program FilesMongoDBServer4.0inmongod.cfg"

增加

语法: db.collectionName.insert({json对象});

1. 增加单个文档,json对象格式
db.user.insert({name:'lee',age:23,sex:'0'}); 

2. 增加多个文档,数组格式
db.user.insert([{name:'lee',age:21,sex:'1'},{name:'lee3',age:24,sex:'0'}]); 

删除

语法: db.collection.remove(查询条件, num); 第二个参数是整数型,代表删除的个数;默认是0(删除全部文档)

1. 将age等于21的全部删除
db.user.remove({age:'24'})

2. 删除 1 个 name=lee 的文档
db.user.remove({name:'lee'},1)

修改

语法: db.collection.update(查询条件,新值);


1. 将 name等于lee3 的文档 全部更新
db.user.update({name:lee3},{name:"lee"})

2. 修改一个文档的字段,必须使用$set:{属性:'值'}
db.user.update({name:'lee3'},{$set:{name:'haha'}})

查询

语法: db.collection.find(查询条件,查询的列);

1. 查询一个表中的所有文档
db.user.find()

2.查询特定文档
db.user.find({name:'long'})

数据库迁移 :

使用mongo自带命令来进行迁移数据库,先导出集合数据再导入数据库中

数据导出:mongoexport -d dbname -c collectionname -o filepath --type json/csv -f field

数据导入:mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field

连接远程mongodb备份导入导出

连接远程数据库:mongo -u username -p pwd host:post/database(数据库名)

注:当该用户有相应权限时,可以查看collection==>查看集合命令:show collections

备份导出:mongodump -h dbhost -d dbname -o dbdirectory

备份恢复:mongorestore -h dbhost -d dbname dbdirectory

可视化工具迁移

详细步骤:https://jingyan.baidu.com/article/63f236287e91c40208ab3d11.html
原文地址:https://www.cnblogs.com/longren/p/12467626.html