@Query----------------springMVC

就简单说我在代码里面是怎么用的例子

然后可以依葫芦画瓢,模仿着来。

    /**
     * 首先就是在这个spring mvc里面这个注解的基本作用
     * 查mongo数据库的字段:如下,依次添加字段,各个字段是and关系
     * 后面的数字是索引,依次对应下面方法的参数
     * 返回类型,根据实际情况,有的是多个就list,单个就数据的model类型
     */
    @Query("{'appmanageType':?0,'port': ?1}")
    AppPortManage findByTypeAndPort (String appManageType , int port);

    /**
     * 其次就是查询到数据之后,又不想把所有字段都查出来,然后就用fields属性
     * 返回的数据model中就只有fields中的属性,其他属性就都是空了。
     * 在使用这些查出来的数据的时候,要小心,不能再存回去了,不然会覆盖原来的数据的
     * 相当于修改了数据库的原来的数据
     */
    @Query(value = "{'stream_type':?0}", fields = "{'title':1,'id':1}")
    List<Stream> findAllSimpleStreamsMore(int stream_type);

    /**
     * 包含关系查询
     * 参数是个子集,查询数据库中所有数据中的这个字段中的数据包含传入的传入的参数
     * 就可以用下面这个关键字,写类似的语句
     */
    @Query(value = "{'tagIds':{'$in':?0}}")
    List<Stream> findAllFiledsByStreamTagIds(List<String> tagIds);

    /**
     * 连表查询
     * 这个就是在users表里面根据ID查出来的一条数据当作这个表的creator字段的属性值
     * '$ref':'users' 联动查询,后面是另一个表名
     * $oid 就是ID 因为数据库格式 "_id" : ObjectId("547ffae54cee00f2fb26e382"),
     */
    @Query("{'creator':{'$ref':'users', '$id':{'$oid':?0}}, 'sendStreamType':?1}")
    List<AlarmSendSetting> findOwn(String userId, int alarmsend_type);

    /**
     * 查找除id以外的其他所有
     */
    @Query("{'id':{'$ne':?0}}")
    List<Module> findAllExceptId(String id);

暂时先总结这么几个。

然后可以参考着这个mongo的数据库语句怎么写的,然后就可以按上面的样式写查询语句。

参考文章如下:

mongodb的查询语句摘要 这个就是介绍各种查询语句,我也没细看。

这个介绍上面的fields后面跟的1是什么意思


大致介绍一下上面fields后面的跟的数字1是什么意思:

1就是查出该字段与此条数据的ID,

0就是查出所有字段除了该字段。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值