Node.js Mongo函数来查找数组中是否存在超弦。Nodejs,
我的mongo“公司”收藏中的文档如下所示:Node.js Mongo函数来查找数组中是否存在超弦。Nodejs,,node.js,regex,mongodb,mongodb-query,node-mongodb-native,Node.js,Regex,Mongodb,Mongodb Query,Node Mongodb Native,我的mongo“公司”收藏中的文档如下所示: { "companyName": "", "companyIcon": "", "domains": [ "companyDomainA.com", "companyDomainB.dev" ], "allowSubDomains": true } 在我的应用程序中,用户输入他/她的电子邮件地址。 使用Nodejs原生mongo驱动程序(),我想查询(查找)用户所属的公司 问题
{
"companyName": "",
"companyIcon": "",
"domains": [
"companyDomainA.com",
"companyDomainB.dev"
],
"allowSubDomains": true
}
在我的应用程序中,用户输入他/她的电子邮件地址。
使用Nodejs原生mongo驱动程序(),我想查询(查找)用户所属的公司
问题是当用户以name@dept.companyDomainA.com
。
我希望能够根据用户的电子邮件(子域为0或更高级别)查询并查找该用户的公司文档,即如果mongo中的数组中存在字符串的超弦。
(注意,我无法存储公司的所有子域,因为它们是动态的,可以随意更改)
是否有正则表达式方式/db模式更改方式来实现这一点
提前谢谢 我会这样做。首先从电子邮件地址找到根域。要做到这一点,我将拆分电子邮件并首先获取域
const email = "name@dept.companyDomainA.com";
const domain = email.split('@')[1]; // dept.companyDomainA.com
现在从它那里获取主机(companyDomainA.com)。跟着这个
因此,我找到了根域,它是companyDomainA.com。现在运行find查询
db.collection('documents').find({"domains": "companyDomainA.com"});
我没有测试此代码。