0
点赞
收藏
分享

微信扫一扫

【物联网开源平台】tingsboard安装与编译

互联网码农 10小时前 阅读 1
mongodb
  1. 配置连接
       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
            <version>${spring.boot.version}</version>
        </dependency>
		#mongodb  这里是没有设置密码
		spring.data.mongodb.host=localhost
		spring.data.mongodb.database=test
		spring.data.mongodb.port=27017
  1. 基础数据插入
 
		@Document("base_info")
		@Data
		public class BaseInfo {
		    private String id;
		    @Field("source")
		    private String source;
		    @Field("create_time01")
		    private String createTime01;
		    @Field("language")
		    private String language;
		    @Field("time")
		    private Integer time;
		    @Field("create_time")
		    private CreateTime createTime;
		
		}
		
		@Data
		public class CreateTime {
		
		    @Field("$data")
		    private String data;
		}
		
		 @Autowired
		 MongoTemplate mongoTemplate;
		
		  public String install(){
		        BaseInfo baseInfo = new BaseInfo();
		        baseInfo.setSource("qintin");
		        baseInfo.setLanguage("en_tts");
		        baseInfo.setTime(880);
		        baseInfo.setCreateTime01(System.currentTimeMillis()+"");
		        CreateTime time = new CreateTime();
		        time.setData(System.currentTimeMillis()+"");
		        baseInfo.setCreateTime(time);
		        mongoTemplate.insert(baseInfo);
		        return "sucess";
		    }
  1. 基础数据查询
		   查询所有
		   List<BaseInfo> list = mongoTemplate.findAll(BaseInfo.class);
		   
		   根据id查询
		   BaseInfo list = mongoTemplate.findById("65ff8515ae6dbe5fa78a4256",BaseInfo.class);
		   
		   查询source为ximalaya,time<300
		   {"source":"ximalaya","time":{"$lt":300}}
		   Criteria criteria = Criteria.where("source").is("ximalaya");
		   criteria.andOperator(Criteria.where("time").lt(300));
		   Query query=new Query(criteria);
		   // 倒序排序
		   query.with(Sort.by(Sort.Order.desc("time")));
		   // 指定 跳过数 ,返回条数
		   query.skip(2).limit(5);
		   List<BaseInfo> list = mongoTemplate.find(query,BaseInfo.class);
		   
		   查询source为ximalaya,language为zh或者ko
		  {"source":"ximalaya","language":{"$in":["jp","ko"]}}
		  Criteria criteria = Criteria.where("source").is("ximalaya");
		  criteria.andOperator(Criteria.where("language").in("jp","ko"));
		  Query query=new Query(criteria);
		  List<BaseInfo> list = mongoTemplate.find(query,BaseInfo.class);
		  查询直接传入json
		  String json = "{\"source\":\"ximalaya\",\"language\":{\"$in\":[\"jp\",\"ko\"]}}";
		  Query query=new BasicQuery(json);
		  List<BaseInfo> list = mongoTemplate.find(query,BaseInfo.class);

  1. 数据更新
        Criteria criteria = Criteria.where("id").is("65ff8690ae6dbe5fa78a42fa");
        Query query=new Query(criteria);
        Update update = new Update();
        update.set("time","555");
        // 只更新满足条件的第一条
        mongoTemplate.updateFirst(query,update,BaseInfo.class);
        // 更新满足条件的多条
        mongoTemplate.updateMulti(query,update,BaseInfo.class);
		// 存在则更新,不存在则插入
        mongoTemplate.upsert(query,update,BaseInfo.class);

  1. 删除文档
	 Criteria criteria = Criteria.where("id").is("65ff8690ae6dbe5fa78a42fa");
     Query query=new Query(criteria);
     mongoTemplate.remove(query,BaseInfo.class);
举报

相关推荐

0 条评论