【发布时间】:2013-07-20 00:31:27
【问题描述】:
我有一个 Mongo 搜索设置,它会根据许多条件检查我的条目。
目前最简单的方法(由于使用通配符,我知道它对性能不友好,但由于不区分大小写并且用户不输入整个单词,我无法找到更好的方法)是使用正则表达式通配符在搜索中。搜索结果如下所示:
{ gender: /Womens/i, designer: /Voodoo Girl/i } // Should return ~200 results
{ gender: /Mens/i, designer: /Voodoo Girl/i } // Should return 0 results
在上面的示例中,两个搜索都返回了大约 200 个结果(“Voodoo Girl”是一个女装标签,所有对应的条目都有一个 gender: "Womens" 字段。)。奇怪的是,当我进行其他搜索时,例如:
{ designer: /Voodoo Girl/i, store: /Store XYZ/i } // 应该返回 0 个结果
我得到正确数量的结果 (0)。这是订单的事情吗?如何确保我的搜索only返回匹配所有通配符查询的结果?
作为参考,通过简单的db.products.find({criteria}) 查找在nodeJS 中进行查询。
【问题讨论】:
标签: mongodb