首页 > 解决方案 > Mongo 脚本在数组元素中使用 Like 来匹配元素

问题描述

我正在尝试使用 mongo 脚本来查找符合特定条件的所有记录。

我有收藏:

collection1:
{
_id:ObjectId("60a663c933649ayu9i")
name:"ABCTech"
}
{
_id:ObjectId("60a998933649ayu9i")
name:"CDTech"
}

collection2
{
_id:ObjectId("70a663c933649ayu9i")
col1_id:ObjectId("60a663c933649ayu9i")
email:['abc@gmail.com','pq@gmail.com']
date:2021-05-28T07:03:51.331+00:00
}

输入将是 collection1(ABCTech) 中的名称,只是电子邮件中的名称(abc)

输出将是符合上述条件的字段:

result
{
email:['abc@gmail.com','pq@gmail.com']
date:2021-05-28T07:03:51.331+00:00
}

我试过下面的脚本:

let col1= db.collection1.findOne({name:"ABCTech"});
let id=col1._id;


let col2=db.collection2.findOne(
{col1_id:id;email:{ $regex: ".*abc.*"}}
)

print("result = ", tojson(id));
print("Result 2 =",tojson(col2));

但是,我没有得到想要的结果。有人可以帮助调整这个。

标签: mongodb

解决方案


推荐阅读