我已经在一个文本文件中提供了500多个电子邮件地址的列表,并被要求在我们的MongoDB数据库中找出它们中有多少个作为客户电子邮件存在。
在我的收藏集的“Customer.Email”字段中找出当前文本文件中哪些电子邮件的最快捷方式是什么?
我可以使用电子邮件的文本文件作为查询的参数吗,例如?
谢谢,
亚当
答案 0 :(得分:0)
这应该可以解决问题,
我假设你的txt file
采用这种格式,
test1@test.com
test2@test.com
test3@test.com
test4@test.com
test5@test.com
test6@test.com
test7@test.com
test8@test.com
test9@test.com
test10@test.com
将text.txt
文件上传到服务器,以便将其转换为js array
你可以用这样的东西做到这一点,
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>File Reader</title>
</head>
<body>
<p>
<script>
function getData() { //this will read file and send information to other function
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
var lines = xmlhttp.responseText;
intoArray(lines);
}
}
xmlhttp.open("GET", "text.txt", true);
xmlhttp.send();
}
getData();
function intoArray(lines) {
var lineArr = lines.split('\n');
//just to check if it works output lineArr[index] as bellow*
lineArr.forEach(function(arrayItem) {
console.log(arrayItem);
});
}
</script>
</body>
</html>
此时txt file
中的电子邮件地址位于array
,因此您可以像mongodb
一样查询$in Operator
,
db.Customers.find( {CustomerEmail: { $in [$myArray] } })