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在集合中查询文档 |