java操作mongodb数据库,java执行mongodb命令
目录
Java操作MongoDB常用应用程序界面文档1.查询指定字段2.按条件查询3.对查询结果排序4.获取满足条件的前n条数据爪哇使用MongoDB数据库相关应用程序界面小记MongDB数据库使用首先介绍我的使用环境
Java操作MongoDB常用API文档
1.查询指定字段
collection.find()。投影(字段(包括(用户名, pwd ),排除id());//返回用户名与显示当前工作目录字段且不返回_id字段文档文档=新文档()。追加( _id ,0).追加(用户名,1).append(pwd ,1);//指定查询字段,0为不包含此字段,1为包含此字段FindIterableDocument findIterable=集合。查找().投影(doc);两种方法查询结果相同,区别是第一种方法使用了包括等函数,需要包含头文件导入静态com。MongoDB。客户。模型。预测。*;
第二种方法使用文档代替了包括等函数,无需包含此头文件。
2.按条件查询
文档myDoc=集合。查找(和(eq(’用户名,刘超),eq(pwd , 12345 ).first();//此方法需包含头文件导入静态com。MongoDB。客户。模型。过滤器。*;Document myDoc=collection.find(新文档(用户名,刘超)。追加( pwd , 12345 ).first();//无需包含上面的头文件
3.对查询结果排序
FindIterableDocument iterable=collection。查找().排序(升序(标题));//按标题升序排列FindIterableDocument iterable=collection。查找().排序(升序(标题,单词));//按标题和话升序排列FindIterableDocument iterable=collection。查找().排序(降序(标题));//按标题降序排列FindIterableDocument iterable=collection。查找().排序(新文档(‘时间’,-1));//按时间降序排列
4.获取满足条件的前n条数据
MongoCursorDocument游标=集合。查找(新文档(用户名,刘超))。排序(新文档(时间,-1)).极限(名词).迭代器();//对满足条件用户名="刘超"的结果进行降序排列,并获取前n条数据.n=0获取全部)
Java使用MongoDB数据库相关API小记
MongDB数据库使用
MongoDB数据库的查询条件或者说习惯对于使用关系型数据库数据库的开发人员不太友好,这里总结一些应用程序界面的使用心得。
首先介绍我的使用环境
1.坐标的使用:导入跳羚的相关坐标
!- MongoDB相关依赖-依赖groupIdorg.springframework.boot/groupId artifactId spring-boot-starter-data-MongoDB/artifactId lt
;/dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> </dependency>2.驱动坐标及其版本号:spring-boot-starter-data-mongodb 中查到的MongoDB版本号为3.8.2版(不需要写上去,这里只是明确引入坐标的版本)
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver</artifactId> <version>3.8.2</version> <scope>compile</scope> </dependency>
3.MongoDB数据库需要的配置,以springboot框架为例,配置文件如下:
文件名:application.properties
#springboot MongoDB配置spring.data.mongodb.username=用户名spring.data.mongodb.password=密码spring.data.mongodb.authentication-database=一般是adminspring.data.mongodb.database=数据库名spring.data.mongodb.port=端口号,默认27017spring.data.mongodb.host=主机ip
4.相关API(以下API都是调用方法,而非底层源码)
a.保存(保存分为save方法和insert方法)save有添加的作用,也有更新的作用; 取决于存入的id是否在文档中已经存在
save(T t),save(T t,String 数据库名);
@Autowired private MongoTemplate mongoTemplate; /** * save有添加的作用,也有更新的作用; 取决于存入的id是否在文档中已经存在 * @param student 学生对象 */ public void saveStudent(Student student) { //返回的结果是保存的对象本身, 所以一般不写 Student result = mongoTemplate.save(student); }
b.删除
/** * 根据ObjectId删除记录 * * @param id ObjectID */ public void delStudentByObjectId(ObjectId id) { //构造查询条件 Query query = Query.query(Criteria.where("id").is(id)); //删除操作(常用API) mongoTemplate.remove(query, Student.class); }
c.修改修改作用用到的方法是上面说的save方法
d.查询根据ObjectId查询单个
/** * 根据ObjectId查找单条记录 * @param id ObjectId * @return 结果 */ public Student findStudent(ObjectId id) { Query query = Query.query(Criteria.where("id").is(id)); //常用API Student student = mongoTemplate.findOne(query, Student.class); return student; }
查询所有
public List<Student> findList() { //第一个参数可以理解为查出的结果应该封装到怎样的对象中,第二个参数可以理解为表名(也可以不写) return mongoTemplate.findAll(Student.class, "tb_student"); }
根据条件查找
比如查找ObjectId不是1的所有数据
public List<Student> findByCondition() { //构造查询条件 Query query=Query.query(Criteria.where("id").ne(1)); //执行查找操作,最后一个参数可以省略(在实体类上已经加上了注解,指定了对应的表名也就是document的名字) List<Student> list = mongoTemplate.find(query, Student.class, "tb_student"); return list; }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持盛行IT。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。