Mongo 函数查找数组中是否存在超字符串。节点,
Mongo function to find if superstring exists in array. Nodejs,
我的 mongo 'companies' collection 中的文档如下所示:
{
"companyName": "",
"companyIcon": "",
"domains": [
"companyDomainA.com",
"companyDomainB.dev"
],
"allowSubDomains": true
}
在我的应用程序中,用户输入 his/her 电子邮件地址。
使用Nodejs原生mongo驱动(https://mongodb.github.io/node-mongodb-native),想查询(查找)用户属于哪个公司
问题是当用户输入电子邮件时 name@dept.companyDomainA.com
。
我希望能够根据他的电子邮件(子域 0 或更多级别)查询和查找用户的公司文档,即。 如果字符串的超字符串存在于数组中 mongo。
(注意,我无法存储公司的所有子域,因为它们是动态的并且可以随意更改)
有没有正则表达式way/db schema 的改变方式,可以实现?
提前致谢!!
我会这样做。首先从电子邮件地址中找到根域。为此,我会拆分电子邮件并首先获取域。
const email = "name@dept.companyDomainA.com";
const domain = email.split('@')[1]; // dept.companyDomainA.com
现在从中获取主机 (companyDomainA.com)。关注这个 link。
所以,我找到了 companyDomainA.com 的根域。现在 运行 查找查询。
db.collection('documents').find({"domains": "companyDomainA.com"});
我没有测试这段代码。
我的 mongo 'companies' collection 中的文档如下所示:
{
"companyName": "",
"companyIcon": "",
"domains": [
"companyDomainA.com",
"companyDomainB.dev"
],
"allowSubDomains": true
}
在我的应用程序中,用户输入 his/her 电子邮件地址。 使用Nodejs原生mongo驱动(https://mongodb.github.io/node-mongodb-native),想查询(查找)用户属于哪个公司
问题是当用户输入电子邮件时 name@dept.companyDomainA.com
。
我希望能够根据他的电子邮件(子域 0 或更多级别)查询和查找用户的公司文档,即。 如果字符串的超字符串存在于数组中 mongo。
(注意,我无法存储公司的所有子域,因为它们是动态的并且可以随意更改)
有没有正则表达式way/db schema 的改变方式,可以实现?
提前致谢!!
我会这样做。首先从电子邮件地址中找到根域。为此,我会拆分电子邮件并首先获取域。
const email = "name@dept.companyDomainA.com";
const domain = email.split('@')[1]; // dept.companyDomainA.com
现在从中获取主机 (companyDomainA.com)。关注这个 link。
所以,我找到了 companyDomainA.com 的根域。现在 运行 查找查询。
db.collection('documents').find({"domains": "companyDomainA.com"});
我没有测试这段代码。