我正在尝试创建一个node.js脚本,以便从一组数据中查询MongoDB数据库,例如:电子邮件。电子邮件数据存储为单个字符串,而不是数组。我还需要来自一组输入电子邮件的不区分大小写的匹配。
我目前的要求如下。请建议是否有更好的方法:
db.users.find({email:{$in:[/Abc@gmail.com/i,/abC@hotmail.com/i]}}
输入数组将包含以下内容,从另一个文件中读取:
var matchOn = ["Abc@gmail.com", "abC@hotmail.com"];
因此,如果任一电子邮件匹配,则输出应包含所有电子邮件(不区分大小写)。如何在NodeJS中构造此查询,尤其是我不确定如何指定匹配查询中matchOn
数组的每个条目并添加/i
。谢谢!
答案 0 :(得分:0)
在较新的mongo版本中,应该可以使用$text
它有caseSensitive选项并且还声明了
MongoDB解析并用于查询文本索引的一串术语。 MongoDB执行术语
的逻辑OR搜索
这似乎应该有效。从来没有尝试过。