MongoDB正则表达式无法按预期工作

时间:2015-02-17 13:10:41

标签: regex mongodb

db.col.find({_id: {term: "garcia"}}) 

找到带有term =" garcia"的文档。但是,

db.col.find({_id: {term: /garcia/}})

找不到任何东西。原因是什么?

文件:

{ "_id" : { "term" : "garcia" }, "count" : 43512, "count_users" : 15388 }

1 个答案:

答案 0 :(得分:2)

您当前使用{_id: {term: /garcia/}}的查询要求_id本身完全匹配,而不仅仅是其中的term字段。因此,它正在尝试查找一个文档,其中_id是一个具有单个term字段且具有该正则表达式的的字段的对象。

使用点表示法将正则表达式与term字段匹配:

db.col.find({'_id.term': /garcia/})