1. 程式人生 > >MongoTemplate多要素模糊查詢

MongoTemplate多要素模糊查詢

Query: { "datetime" : { "$gte" : "20180121000000" , "$lte" : "20180124120000"} , "station_id_c" : { "$in" : [ "54831" , "54832"]} , "admin_code_chn" : { "$in" : [ { "$regex" : "^3707.*$" , "$options" : "i"} , { "$regex" : "^37070602.*$" , "$options" : "i"} , { "$regex" : "^3707.*$" , "$options" : "i"}]}}, Fields: { "station_name"
: true , "gst" : true , "station_id_d" : true , "lat" : true , "lon" : true}, Sort: { }
/**
     * 按時間範圍、多站點/單站點、區域內多個站點檢索地面要素
     * 
     * @param begin
     *            開始時間,必填 yyyyMMddHHmmss
     * @param end
     *            結束時間,必填 yyyyMMddHHmmss
     * @param stationid
     *            區站號(數字),Station_Id_c,可選,多選
     * @param
elements * 要素,可選,多選 * @param areaids * 區域ID * @return * @throws ParseException */
public List<RgwstBean> getSurfEleInAreaIdByTimeRange(String begin, String end, String stationids, String elements, String areaids) throws ParseException{ DBObject dbObject = new
BasicDBObject(); dbObject.put("datetime", new BasicDBObject("$gte", begin).append("$lte", end)); if (stationids != null) { String[] stationid = stationids.split(","); dbObject.put("station_id_c", new BasicDBObject("$in", stationid)); } BasicDBObject fieldsObject = null; if (elements != null) { fieldsObject = new BasicDBObject(); String[] param = elements.split(","); for (int i = 0; i < param.length; i++) { fieldsObject.put(param[i], true); } } if (areaids != null) { String[] areaid = areaids.split(","); List<Pattern> patterns = Lists.newArrayList(); for(String area :areaid) { if(area.endsWith("0000")) { Pattern pattern = Pattern.compile("^" + area.substring(0, 2) + ".*$", Pattern.CASE_INSENSITIVE); patterns.add(pattern); }else if(area.endsWith("00")) { Pattern pattern = Pattern.compile("^" + area.substring(0, 4) + ".*$", Pattern.CASE_INSENSITIVE); patterns.add(pattern); }else { Pattern pattern = Pattern.compile("^" + area + ".*$", Pattern.CASE_INSENSITIVE); patterns.add(pattern); } } dbObject.put("admin_code_chn", new BasicDBObject("$in", patterns)); } Query query = new BasicQuery(dbObject, fieldsObject); return mongoTemplate.find(query, RgwstBean.class, "RgwstBean"); }

相關推薦

MongoTemplate要素模糊查詢

Query: { "datetime" : { "$gte" : "20180121000000" , "$lte" : "20180124120000"} , "station_id_c" : { "$in" : [ "54831" , "54832"]} ,

MySQL模糊查詢

logs alt 查找 cat com 關鍵字 導師 concat 復雜 最近有個需求,就是要根據搜索框裏面的關鍵字,找到符合條件的數據。 如果是單個條件的話,其實就是一個普通的select語句。 但是需求是這個關鍵字,要在id,desc,step等多個字段模糊查找。 然後

模糊查詢報表的制作

程序 字段名 text 遇到 ODB 模板 區域 one ima 在數據查詢系統中,經常會涉及到模糊查詢和多值查詢。對於模糊查詢,我們可能都有所了解。就是根據用戶在參數框中輸入的關鍵字進行模糊匹配,這在SQL中是通過like條件實現的。而多值查詢則大多是一次在參數框中輸入2

Mongotemplate多種情景模糊查詢

Criteria類:它封裝所有的語句,以方法的形式進行查詢。 Query類:這是將語句進行封裝或者新增排序之類的操作。 按照姓名精確查詢 Query query = new Query(); query.addCriteria(Criteria.where("name").is(name

PostgreSQL 模糊查詢最佳實踐 - (含單字、雙字、模糊查詢方法)

作者digoal 日期2017-04-26 標籤PostgreSQL , 模糊查詢 , 正則查詢 , pg_trgm , bytea , gin , 函式索引 背景前模糊(有字首的模糊),後模糊(有後綴的模糊),前後模糊(無前後綴的模糊),正則匹配都屬於文字搜尋領域常見的需求。 PostgreSQL擁

thinkphp5 一個欄位對應模糊查詢

$condition['kname'] = array(array('like','%保健%'), array('like','%護膝%'), array('like','%保健護膝護腰護頸%'), 'or'); 如果是動態的多個條件可以如下: $con

mySql模糊查詢

一般資料庫進行多欄位模糊查詢的時候是這樣的:select * from table where name like '%xxx%' or sex like '%xxx%' or phone like '%xxx%'這樣資料庫執行起來效率十分低下,一個兩個欄位還好,一旦需要模糊

實現條件模糊查詢SQL語句

很多網友問到如何寫模糊查詢語句和多條件查詢,這裡我整理了一下,假設以姓名、性別、電話號...作為資料庫中的欄位名。 通常寫一個簡單的模糊查詢的SQL語句格式可以如下例: sql="select * from 表名 where 欄位名 like ’%" & reques

MongoDB mongotemplate條件符合查詢

一、一個 Criteria將所有條件整合,注意(對同一個屬性加兩次限制需使用andOperator,並且只能使用一次) 分、 排序、按時間查詢 Query query = new Query(); //必須條件 Criteria c = C

bootstrap-select 的選+模糊查詢下拉框詳解(官方示例文件解讀)

引入問題 之前博主在實際開發中遇到了一個問題,就是需要既支援多選又同時支援模糊查詢的下拉控制元件,大家所熟知的比較強大的下拉框外掛bootstrap-select2,博主當時也參考過,但是發現它的多選效果做的比較差,類似這種, 這樣的多選控制元件必須要控

條件模糊查詢引數越界問題

今天在寫sql語句的時候發現報了一個引數越界問題,postman提示如下:檢視dao層sql語句之後發現模糊查詢語法錯誤: 錯誤在 like '%#{uiname}' 這裡,應當為:即:#符號改為$上網查詢發現另一種寫法,就是用concat函式拼接字串:(這種方式需要對雙引號

Linq 條件模糊查詢的方法

首先定義一個LINQ接收的集合:                  var indexlist = from s in vindexinfo select s; 第二步:對需要模糊查詢的欄位做是否為空的判斷        //Contains 意思是是否包含了這個值

MySQL中根據if標籤實現條件模糊查詢(動態SQL語句)

 if標籤  if標籤可用在許多型別的sql語句中,我們以查詢為例。首先看一個很普通的查詢: Xml程式碼   <!-- 查詢學生list,like姓名 -->   <select id="getStudentListLikeName" pa

條件模糊查詢

#region 多條件搜尋時,使用List集合來拼接條件(拼接Sql) //StringBuilder sql = new StringBuilder("

mybatis條件模糊查詢

<select id="selectUserList" parameterType="cn.vipkes.dao.dto.param.UserListDto" resultType="cn.vip

LINQ條件OR模糊查詢

轉載 這樣的 .com 最終 () msdn soci table copy 需求是這樣的,有一張表tbl(Key[int],Value[string]),數據存儲如下: Key Value 1 -a-b- 2 -a- 3 -c-e- 4 -f-g-

mybatise 實現同一字段模糊查詢

for ise concat cat type sep item 模糊查詢 foreach mybatise 同一字段多模糊查詢 <foreach collection="typeList" index="index" item="item" open="("

簡單實現mysql字段模糊查詢

from scrip tr1 方式 關鍵字 字符串 數據 實的 sel   在後臺的項目中,會經常遇到,就是信息的查找,這裏就舉個簡單的例子,如搜索某一個產品的信息,在一個表裏面有多個字段,而搜索的內容可能是其中的某個字段,這樣只有多字段查詢才能實現。 MySQL多字段模糊

PHP模糊查詢條件)

//<!--php模糊查詢 --> //接收post傳值 $name = I('post.name'); $mail = I('post.mail'); $age = I('post.age');

jquery-easyui元件combobox模糊查詢在IE中資料太導致瀏覽器崩潰

       由於combobox模糊查詢是吧原來的所有下拉的選項首先全部隱藏,然後再根據使用者輸入的值來判斷,如果正確,則顯示出來,本人測試1000條資料的時候在火狐裡並沒有問題,可是在IE8卻導致瀏覽器十分緩慢,經常導致瀏覽器奔潰。由於