已知下級欄位的名稱,想要查詢所有匹配該級欄位名稱和值的mongodb資料
需要通配不知名稱和級別的上級字段
db.formdata.
find()
或db.formdata.
find
()
mongo db 沒有這種萬用字元;
規避採用這種使用萬用字元的方案,採用另外一種辦法,將所有可能通配的值都列出來,遍歷查詢所有的情況。
具體**如下:
/**
* 獲取引用的資料
** @param formquotefield formid和欄位名的對映
* @param sourceformdataid **表id
* @param tenantid 企業id
* @return 引用的資料
*/@override
public listgetquotelist(map> formquotefield, long sourceformdataid, long tenantid)
listcriteriain = new arraylist<>();
for (string filedname : entry.getvalue())
criteria criteriafield = new criteria();
if (!filedname.contains("."))
if (filedname.contains("."))
criteriain.add(criteriafield);
}criteria criteria = new criteria();
criteria.and("form_id").is(entry.getkey()).and("tenant_id").is(tenantid);
if (criteriain.size() > 1) else if (criteriain.size() == 1)
criteriaout.add(criteria);
}criteria finao = new criteria();
if (!collectionutils.isempty(criteriaout))
query query = new query();
query.addcriteria(finao);
return mongotemplate.find(query, formdata.class, "formdata");
}
oracle用substr函式代替萬用字元
我有個where like 查詢 要用到萬用字元,google下得下結果 與包含乙個或多個字元的字串匹配。與特定範圍 例如,a f 或特定集 例如,abcdef 中的任意單字元匹配。與特定範圍 例如,a f 或特定集 例如,abcdef 之外的任意單字元匹配。可是我怎麼搞怎麼不出來,語句如下 sel...
mogodb不區分大小寫查詢
如果檢索需要不區分大小寫,我們可以設定 options 為 i。以下命令將查詢不區分大小寫的字串 runoob db.posts.find 集合中會返回所有包含字串 runoob 的資料,且不區分大小寫 我在springboot專案使用mogodb 1 引入jar包 org.springframew...
like萬用字元查詢
要在 match expression 中搜尋並且可以包括下列有效萬用字元的特定字串。pattern 的最大長度可達 8,000 位元組。萬用字元 說明 示例 包含零個或多個字元的任意字串。where title like computer 將查詢在書名中任意位置包含單詞 computer 的所有書...