首页 > 数据库 >play连接mongodb并进行查询测试

play连接mongodb并进行查询测试

时间:2023-08-03 12:39:00浏览次数:40  
标签:play java mongodb 查询 CreateIndexesOperation operation com

环境准备

1、 IP白名单分组添加

play连接mongodb并进行查询测试_play

2、  相关配置信息 application.conf增加

morphia.db.name=库名
morphia.db.url=连接信息

dependencies.yml增加

require:
    - playmongo  -> playmongo  latest.integration
    - org.mongodb -> mongo-java-driver 3.12.13
    - org.mongodb.morphia -> morphia latest.release
repositories:
     - playmongo:
          type:       local
          artifact:   ${application.path}/lib/play-morphia.jar
          contains:
              - playmongo  -> playmongo

3、  增加配置文件MongoDB.properties

mongodb_uri=连接信息
mongodb_uri1=连接信息1
mongo.db.databaseName=库名
mongo.db.connectionsPerHost=端口

新增play.plugins

400:play.modules.morphia.MorphiaPlugin

4、 

查看依赖是否正常

play连接mongodb并进行查询测试_java_02

注意,我在测试链接时有冲突,删除了bson-4.10.0-alpha0.jar,以下为我的报错信息

java.lang.IllegalAccessError: tried to access class org.bson.BSON from class com.mongodb.DBObjectCodec
        at com.mongodb.DBObjectCodec.writeValue(DBObjectCodec.java:226)
        at com.mongodb.DBObjectCodec.encode(DBObjectCodec.java:159)
        at com.mongodb.DBObjectCodec.encode(DBObjectCodec.java:67)
        at org.bson.BsonDocumentWrapper.getUnwrapped(BsonDocumentWrapper.java:199)
        at org.bson.BsonDocumentWrapper.keySet(BsonDocumentWrapper.java:159)
        at com.mongodb.internal.operation.IndexHelper.generateIndexName(IndexHelper.java:61)
        at com.mongodb.operation.CreateIndexesOperation.getIndex(CreateIndexesOperation.java:222)
        at com.mongodb.operation.CreateIndexesOperation.getCommand(CreateIndexesOperation.java:288)
        at com.mongodb.operation.CreateIndexesOperation.access$200(CreateIndexesOperation.java:73)
        at com.mongodb.operation.CreateIndexesOperation$1.call(CreateIndexesOperation.java:177)
        at com.mongodb.operation.CreateIndexesOperation$1.call(CreateIndexesOperation.java:172)
        at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:530)
        at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:492)
        at com.mongodb.operation.CreateIndexesOperation.execute(CreateIndexesOperation.java:172)
        at com.mongodb.operation.CreateIndexesOperation.execute(CreateIndexesOperation.java:72)
        at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:216)
        at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:185)
        at com.mongodb.DBCollection.createIndex(DBCollection.java:1698)
        at com.mongodb.DBCollection.createIndex(DBCollection.java:1683)
        at com.mongodb.gridfs.GridFS.<init>(GridFS.java:109)
        at play.modules.morphia.MorphiaPlugin.initMorphia_(MorphiaPlugin.java:483)
        at play.modules.morphia.MorphiaPlugin.onApplicationStart(MorphiaPlugin.java:608)
        at play.plugins.PluginCollection.onApplicationStart(PluginCollection.java:603)
        at play.Play.start(Play.java:557)
        at play.Play.init(Play.java:325)
        at play.server.Server.main(Server.java:162)

5、  编写代码测试查询已配置路由

public static void qichachaTest(String id) {
        Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").serializeNulls().create();
        Logger.info("id:"+id);
        Logger.info("ds.toString()"+ds().toString());

        Query<ComDetails> query = ds("bid_data").createQuery(ComDetails.class);
        query.filter("comId =", id);
        List<ComDetails> list = query.asList();
        if(list.size() > 0) {
            renderJSON(gson.toJson(list.get(0)));
        }else {
            ComDetails cd = null;
            renderJSON(gson.toJson(cd));
        }
    }

6、 

结果

play连接mongodb并进行查询测试_play_03

标签:play,java,mongodb,查询,CreateIndexesOperation,operation,com
From: https://blog.51cto.com/u_16199760/6947942

相关文章

  • Python 将playwright 脚本打包exe
    1、需要将playwright版本下载,注意:如果不想执行exe出现cmd弹窗,则需要将playwright版本安装为1.29.0。参考:https://blog.csdn.net/tdl320721/article/details/1287372732、下载playwright对应的浏览器驱动,playwrightinstallchrome3、查看python环境目录内的  \Lib\site-......
  • 聚焦 TimescaleDB VS TDengine 性能对比报告,IoT 场景下全面分析写入与查询
    基于第三方基准性能测试平台TSBS(TimeSeriesBenchmarkSuite)标准数据集,TDengine 团队在TSBS的IoT场景中,预设了五种规模的卡车车队基础数据集,在相同的AWS云环境下对时序数据库(TimeSeriesDatabase) TDengine3.0 和TimescaleDB2.10.1进行了对比分析。本文将会从写入......
  • mp等值查询方法eq
    使用QueryWrapper<User>或者LambdaQueryWrapper<User>(区别在于后者可以直接列举出需要用的属性字段,约束不易出错)创建对象,调用eq方法设置查询条件,再次利用注解@Autowired快速创建引用来调用之前设置的eq方法 ......
  • go语言mongodb操作
    MongoDB属于非关系型数据库,它是由C++编写的分布式文档数据库。内部使用类似于Json的bson二进制格式。官方文档:https://www.mongodb.com/docs/drivers/go/current/fundamentals/相关文档:https://www.w3cschool.cn/mongodb/mongodb-1uxs37ih.html连接packagemainimport(......
  • 日志查询
    删除-采购单收货记录--删除采购单收货记录【PuRvTrx】--删除采购单收货记录-明细【PuRvTrx2】DELETEFROMPuRvTrxWHERE(SysID='78216')DELETEFROMPuRvTrx2WHERE(SysID='78216')DELETEFROMPuRvJAlcWHERE(SysID='78216')DELETEFROMPuRvA1c2WHERE(SysID=......
  • golang用pgx查询数据时如何将查询结果方便的放入Map中
    pgx库简介下面是来自官网的简介:pgx-PostgreSQL驱动和工具包pgx是一个用于PostgreSQL的纯Go语言驱动和工具包。pgx驱动是一个底层的高性能接口,暴露了PostgreSQL特有的功能,如LISTEN/NOTIFY和COPY。它还包含一个标准database/sql接口的适配器。工具包组件是一组相关的包,实......
  • 模版层、模型层(modle)、外键字段查询、环境测试搭建、基于下划线查询
    模版之标签模版里面使流程控制:if、else、elseif、for标签:{%tag%}for标签 后端代码deftag(request):user_list=[1,2,3]returnrender(request,'tag.html',locals())前端代码<body>{%foruserinuser_list%}{{user}}{%endfor%}</bo......
  • mybatisplus 查询结果排除某字段实现
    数据有Test表,表里有id,name,ip_address,last_time四个字段通常查询写法,返回结果会把id,name,ip_address,last_time四个字段都返回publicListselectList(Testtest){Listlist=testMapper.selectList(newQueryWrapper<>(test))returnlist;}现在想排......
  • 软件测试|web自动化测试神器playwright教程(十二)
    前言在日常工作中,我们经常是基于某个测试环境地址去测试某个项目,所以应该把它单独拿出来做为一个全局的配置。其他网址可以使用不同的后缀,只使用相对地址。常见情景比如我们的社区,不同的类别只需要改变我们的后缀即可,如下图:首页地址为:https://ceshiren.com/,我们选择查看热门......
  • 软件测试|web自动化测试神器playwright教程(十三)
    前言我们在工作中,会遇到需要使用不同的硬件设备测试兼容性的问题,尤其是现在手机型号,屏幕大小分辨率五花八门的,我们基本不可能全部机型都用真机测试一遍,playwright提供了模仿机型的功能,我们可以使用playwright来模拟设备。设置手机模式配置需要模拟的设备,我们需要配置我们使用的......