Java操作mongodb增删改查的基本操作

1.查询数据库信息

public class ConnDemo {
	public static void main(String[] args) {
		MongoClient mc = new MongoClient("localhost",27017);//进入自己的数据库
		System.out.println(mc);
		MongoIterable<String> listDatabaseNames = mc.listDatabaseNames();
		MongoCursor<String> iterator = listDatabaseNames.iterator();
		while (iterator.hasNext()) {//通过循环得到所有库名
			System.out.println(iterator.next());
		}
		MongoDatabase db = mc.getDatabase("myschool");
		System.out.println(db);
		MongoIterable<String> listCollectionNames = db.listCollectionNames();
		for(String s:listCollectionNames) {
			System.out.println(s);
		}
		mc.close();
	}
}

 

2.增加数据

	MongoClient mongoClient = new MongoClient("localhost",27017);
	MongoIterable<String> listDatabaseNames = mongoClient.listDatabaseNames();
	MongoDatabase db = mongoClient.getDatabase("huoyingrenzhe");
	MongoCollection<Document> collection = db.getCollection("火影忍者");
	Document document = new Document();
	document.put("name", "鸣人");
	document.put("birthday", new Date());
	document.put("sex", "男");
	document.put("age", "18");
	document.put("country", "火之国");
	collection.insertOne(document);

 

2.删除数据

	//根据条件删除
	Bson gt = Filters.gt("country", "火之国");
	DeleteResult deleteMany = collection.deleteMany(gt);
	System.out.println(deleteMany);

3.修改数据

3.1单条件修改

修改照美冥的年龄

	//修改
	Bson eq = Filters.eq("name", "照美冥");
	UpdateResult updateMany = collection.updateMany(eq, new Document("$set",new Document("age",50)),
			new UpdateOptions().upsert(true));//修改中的添加
	System.out.println(updateMany);

3.2多条件修改

	Bson or = Filters.or(Filters.gte("age", 50),Filters.lte("age", 20));
	
	UpdateResult updateMany = collection.updateMany(or, new Document("$set",new Document("age","保密")));
	
	System.out.println(updateMany);
	mongoClient.close();

 

4.查询数据

5.1简单查询

	 FindIterable<Document> documents = collection.find().limit(5);
     for (Document document : documents) {
         System.out.println(document.getString("name"));
     }

 5.2多条件查询

	 FindIterable<Document> document = collection.find(Filters.and(
             Filters.eq("country", "火之国"),
             Filters.eq("sex", "男")));
     for (Document document1 : document) {
         System.out.println(document1.getString("name"));
     }

6.操作集合

序号

语法

解释

1

Use dbname

创建数据库

(如果数据库不存在则创建,若存在则切换到指定数据库)

2

db.dropDatabase()

删除数据库

3

db.createCollection(集合名)

创建集合

4

show collections/show tables

查看集合

5

db.集合名.drop()

删除集合

6

db.集合名.insert(document)

MongoDB在集合中插入数据

7

db.集合名.update({查询条件},{$set:{更新内容}},

{upsert: <boolean>,

multi: <boolean>,} )

upsert: 默认为false ,

如果查询不到数据,则把跟新输入插入

multi:默认为false,默认只改一条,true,更改多条

MongoDB在集合中更新数据

8

db.集合名.update({查询条件},{$inc:{字段名:Number(1)}})

例如:db.col.update({‘_id':’1'},{$inc:{likenum:NumberInt(1)}})

MongoDB在集合中更新数据(如果我们想实现在某一列上在原有的值基础之上进行递增1效果可以用$inc运算符来实现)

9

db.集合名称.remove(

<query>,

{justOne: <boolean>} )

删除所有数据:db.col.remove({})

删除一条数据

db.col.remove({“name”:”张三”},{justOne:true})

删除多条数据db.col.remove(“name”:”张三”})

MongoDB在集合中删除文档

10

MongoDB 查询文档使用 find() 方法。

find() 方法以非结构化的方式来显示所有文档。

db.collection.find(query)

MongoDB在集合中查询文档

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值