mongoDB学习(2)

本文详细介绍在Windows环境下使用MongoDB创建用户、数据库及表的操作步骤,包括用户权限设置、数据增删改查等基本操作,并提供了Java操作MongoDB的示例代码,涵盖无密码和密码认证两种情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、创建用户

1.创建管理员

2.授权认证

3.给使用的数据库增加用户

具体在windows上操作步骤:

1.输入  mongo

2.输入  use admin

3.输入  db.createUser({user:"admin",pwd:"123456",roles:["root"]})

4.输入   db.auth("admin":"root")

5.输入   use test

6.输入   db.createUser({user:"root",pwd:"123456",roles:[{ role:"dbOwner",db:"test" }]})

用户就创建完成了

创建数据库

直接 输入   use  数据库名

就可以创建表了  创建user表插入一条数据

创建表db.user.save({ "id":1, "name":"array","age":18 })

保存多条数据:  db.user.save( {数据  } ,{ 。。。。},{   数据   })

查询表:  db.user.find()   //查询所有

更新数据db.user.updata({修改的对象标识},{修改内容})

例如:   db.user.updata({“id”:1},{“name”:”array“})//将id为1的内容修改为“name”:”array“

这样很不友好,会将整条数据都给修改,不只是修改name这个属性,其他会被删除

只修改指定属性:

 db.user.update({“id”:1},{$set:{ “name”:”array“    }})   //只将这条数据的name的值进行修改

删除数据:  db.user.remove({ 条件 })  指定删除数据

删除所有数据:db.user.drop()

删除数据库 :  db.dropDataBase()

二、java操作数据库

1.不需要密码:

  public static MongoCollection<Document> Connect(String database,String table) {
	    	
	             MongoClientOptions option=MongoClientOptions.builder().connectTimeout(60000).build();
	         
	             MongoClient monGoClient=new MongoClient(new ServerAddress("127.0.0.1",27017),option);
	             //获取操作数据库
	             MongoDatabase db=monGoClient.getDatabase(database);
	             //获取集合。后面的操作,大部分都是基于集合操作
	             MongoCollection<Document> contections =db.getCollection(table);
	            
	           
	        return contections;
	    }
	    
	    public static void main(String[] args) {
	    	 MongoCollection<Document> collection = Connect("test","person");
	    	 FindIterable<Document>  findIterable =  collection.find();
	    	 MongoCursor<Document> cursor = findIterable.iterator();
	    	 while (cursor.hasNext()) {
				System.out.println(cursor.next());
				
			}
	    	
		}

2.需要密码:

public static void main(String[] args) {
		//用户名密码登录
		//服务器地址 和 端口
		ServerAddress serverAddress = new ServerAddress("127.0.0.1",27017);
		List<ServerAddress> serverList = new ArrayList<ServerAddress>();
		serverList.add(serverAddress);
		//用户名 数据库名称 密码 
		MongoCredential credential =  MongoCredential.createScramSha1Credential("root", "test", "123456".toCharArray());
		List<MongoCredential> credentialList = new ArrayList<MongoCredential>();
		credentialList.add(credential);
		//通过认证连接MongoDB
		MongoClient mongoClient = new MongoClient(serverList,credentialList);
		//连接数据库
		MongoDatabase mongoDatabase = mongoClient.getDatabase("test");
		System.out.println("连接数据库的名称:"+mongoDatabase.getName());

//		//获取集合
		MongoCollection mongoCollection = mongoDatabase.getCollection("person");
		System.out.println("获取的集合是:"+mongoCollection.toString());
		System.out.println(mongoCollection.getNamespace());
		Document dMap = new Document();
		dMap.append("id",5);
		dMap.append("name","hehhe");
		dMap.append("age",15);
		mongoCollection.insertOne(dMap);
		FindIterable<Document> findIterableMap = mongoCollection.find();
		MongoCursor<Document> mongoCursorMap = findIterableMap.iterator();
		System.out.println("开始======");
		while(mongoCursorMap.hasNext()){
			System.out.println(mongoCursorMap.next().toJson());
		}
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值