mogodb 萬用字元代替字段查詢

2021-09-29 19:57:28 字數 1285 閱讀 6182

已知下級欄位的名稱,想要查詢所有匹配該級欄位名稱和值的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 的所有書...