就简单说我在代码里面是怎么用的例子
然后可以依葫芦画瓢,模仿着来。
/**
* 首先就是在这个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是什么意思:
1就是查出该字段与此条数据的ID,
0就是查出所有字段除了该字段。