库(Database)
创建库/使用库:
use 库名;
1.如果该库不存在,则新创建该库,但库中什么都没有,是虚拟库,虚拟库不会写进磁盘,所以查询时查不到,当我们在该库中创建一个集合时,就可以查询到该库了。
2.该库存在,则使用该库
查看所有库:
show dbs;
查看当前库:
db;
删除库(危险操作):
db.dropDatabase();
集合
添加集合:
db.createCollection(集合名);
查看当前库所有集合:
show collections;
show tables;
删除集合:
db.集合名.drop()
mongodb增删改查的基本操作
假设当前集合为student
mongdb添加数据:
添加单个元素:
db.student.insert({K:"V"});
添加多个元素:
db.student.insert({K1:"V1",K2:"V2" ...});
添加数组:
db.student.insert({K:["V1","V2","V3"...]})
db.student.insert({K:[{K1:"V1"},{K2:"V2"}...]})
数据修改
db.student.update({条件},{$set:{修改}});
当我们要修改的条件查询不到时,会出现以下情况:
我们希望如果没有这个条件,就当作一个数据插入进去:
upsert值默认是false,设置为true后,如果没有就插入
db.student.update({条件},{$set:{修改}},{upsert:true});
当要修改的是多条数据时,如果修改则默认是修改第一条数据,想要一次修改多条数据:
multi值默认是false,设置为true后,可以一次修改多条数据
db.student.update({条件},{$set:{修改}},{multi:true});
如果只想修改数值大小:
正数为加,负数为减
db.student.update({条件},{$inc:{age:1}});
删除操作(危险操作):
db.stuednt.remove({条件});
默认删除全部,只删除第一条:
db.stuednt.remove({条件},{justOne:true});
全部删除:
db.stuednt.remove();
查询操作
全查
db.student.find();
db.student.find({K:V});
等于 {K:V} 不等于 {K:{$ne:V}}
大于 {K:{$gt:V}} 大于等于 {K:{$gte:V}}
小于 {K:{$lt:V}} 小于等于 {K:{$lte:V}}
判断是否有字段存在:
db.student.find({K:($exists:true(有)/false(无)});
多条件 and:
db.student.find({K:V,K2:V2...});
模糊查询:
只要包含就能查到:
db.student.find({name:/赵/});
以赵开头:
db.student.find({name:/^赵/});
以赵结尾:
db.student.find({name:/赵$/});
Java操作mongodb增删改查的基本操作
增添
相当于mongodb : db.student.insert({name:"李四",age:17});
collection. insertMany(List<? extends Documet>);
查询
模糊查询
相当于 db.student.find({name:/赵/});
修改
删除: