MongoDB 正则表达式未按预期工作
MongoDB regular expression not working as expected
db.col.find({_id: {term: "garcia"}})
找到包含术语 = "garcia" 的文档。然而,
db.col.find({_id: {term: /garcia/}})
没有找到任何东西。什么原因?
文件:
{ "_id" : { "term" : "garcia" }, "count" : 43512, "count_users" : 15388 }
您当前使用 {_id: {term: /garcia/}}
的查询要求对 _id
本身进行精确匹配,而不仅仅是其中的 term
字段。所以它试图找到一个文档,其中 _id
是一个具有单个 term
字段的对象,该字段具有该正则表达式的 value。
使用点符号将正则表达式与 term
字段匹配:
db.col.find({'_id.term': /garcia/})
db.col.find({_id: {term: "garcia"}})
找到包含术语 = "garcia" 的文档。然而,
db.col.find({_id: {term: /garcia/}})
没有找到任何东西。什么原因?
文件:
{ "_id" : { "term" : "garcia" }, "count" : 43512, "count_users" : 15388 }
您当前使用 {_id: {term: /garcia/}}
的查询要求对 _id
本身进行精确匹配,而不仅仅是其中的 term
字段。所以它试图找到一个文档,其中 _id
是一个具有单个 term
字段的对象,该字段具有该正则表达式的 value。
使用点符号将正则表达式与 term
字段匹配:
db.col.find({'_id.term': /garcia/})