mongodb - 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));
但是,我没有得到想要的结果。有人可以帮助调整这个。
解决方案
推荐阅读
- android - 如何从firebase获取数据然后将其推回
- arrays - 如何从 Swift 4.2 中的数组中获取字典
- android - How to upload audio file to internal storage?
- python - 如何计算数组python中连续出现了多少次值?
- ansible - Ansible - jinja 防止 jinja 在宏中剥离换行符
- f# - 在 F# 中使用多行命名参数调用方法
- scala - 从两个 Hive 表的连接创建一个结构数据类型数组
- cmake - CMake 使用与 CMakeLists.txt 不同的文件
- node.js - Nodejs 突然返回 undefined 到 require('http')';
- c++ - C++:模板特化,std map 选择了错误的特化