mongodb - 可能不存在的字段上的流星正则表达式
问题描述
我正在出版物中准备这样的查询(Meteor.pulish)
let regex = new RegExp( search, 'i' );
query = {
$and: [
{someCondtion: true},
{$or: [
{ name: regex },
{ surname: regex },
{ email: regex }
]}
]
};
return Something.find(query);
这按预期工作。
现在我添加了可以被同一个正则表达式匹配的字段,唯一的区别是这个字段可能存在也可能不存在于所有文档中:
query = {
$and: [
{someCondtion: true},
{$or: [
{ name: regex },
{ surname: regex },
{ email: regex },
{ maybeField: regex}
]}
]
};
最后一个条件被忽略,我尝试了以下各种组合无济于事:
{ maybeField: {$exists: true, $eq: regex}}
或者:
{$and:[
{maybeField:{$exists:true}}.
{maybeField: regex}
}
最糟糕的是,当我在 mongo 控制台中使用此类变体时,它按预期工作..!!
解决方案
推荐阅读
- oracle - 如何将oracle数据库从企业版迁移到标准版
- javascript - 如何从 Highcharter 股票图中提取最小和最大日期?
- jquery - 在列表中显示段落内容
- haskell - 如何在 GraalVM 上运行 Haskell?
- module - 无法加载模板文件
- java - ModelMapper 采用 toString 方法转换属性?
- c# - 补高阶函数
- ios - simdJson 如何在iOS程序中使用simdJson?(objective-C)
- python - 如何修改找不到元素的默认等待30秒?
- javascript - 将 SVG 作为 img 元素的 src 加载时会触发 load 事件吗?