[英]Is there a “regex” operator in MongoDB? (not “$regex”)
我在討論與Yii2的有關正則表達式的問題,我相信我發現開發商之一。 開發人員堅持認為該框架可以通過所有單元測試,但是每次我嘗試在其中運行帶有正則表達式的查詢時,都會看到此代碼在我的MongoDB中運行:
find({
"ns":"todevise.category",
"limit":0,
"batchSize":0,
"skip":0,
"flags":0,
"query":{
"path":{
"regex":"^/30000", // <---- issue?
"flags":""
}
},
"fields":{
"short_id":true,
"path":true
},
"started_iterating":false
})
我認為這不是有效的MongoDB查詢,因為我找不到有關regex
運算符的任何文檔。 (無論如何不要與$regex
運算符混淆)。
所以,我的問題是:該查詢是否是有效的MongoDB查詢? 如果是, regex
和$regex
運算符有什么區別?
我相信
{
"regex":"^/30000", // <---- issue?
"flags":"
}
是json對象,而regex
和$regex
都是哈希鍵。 但是$regex
是resreved關鍵字,被識別為用於建立條件查詢的運算符。 我猜想這種情況下的regex
鍵只是忽略了。
$query->andFilterWhere([
'path' => ['$regex'=> "^/30000"],
]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.