[英]MongoDB find with regex behaves differently from Java
使用MongoDB 2.4.6進行正則表達式的行為與Java Pattern類的行為方式不同。 有誰能解釋為什么?
在MongoDB中插入數據:
db.Project.insert({ "_id" : "e0b57d9e-744c-471e-ae95-22a389d2988d", "name" : "Project.20131106101344433" });
查找所有項目:
db.Project.find()
{
"_id" : "e0b57d9e-744c-471e-ae95-22a389d2988d",
"name" : "Project.20131106101344433"
}
查找名稱為“t”的所有項目:
db.Project.find({"name" : /t/})
{
"_id" : "e0b57d9e-744c-471e-ae95-22a389d2988d",
"name" : "Project.20131106101344433"
}
檢查唯一的項目名稱與正則表達式“t”不匹配:
@Test
public void regex() {
assertTrue(!Pattern.matches("t", "Project.20131106101344433"));
}
如您所見,正則表達式db.Project.find返回一個名稱不是“t”的項目,但包含“t”。 我錯過了什么?
謝謝!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.