regex - 环回 3 字符串与和条件不匹配
问题描述
我正在尝试在环回 3 中使用多个值进行过滤。“AND 条件”不起作用。数值过滤器运行良好,但字符串值不匹配。
这是我现在的情况:
{ "and": [{ "id": { "neq": "5d146f1f7a62651b8162fcf3" } },
{ "gender": "male" }, { "age": { "between": [16, 60] } },
{ "interestId": { "inq": ["5d11c0ce59e2b64e8dc12956", "5d11c0e259e2b64e8dc12958", "5d11c08659e2b64e8dc12953", "5d11c01759e2b64e8dc1294b", "5d11c03759e2b64e8dc1294d"] } },
{ "location": { "near": { "lat": 26.8574194, "lng": 75.7977288 }, "maxDistance": 6, "unit": "kilometers" } },
{ "maritalStatus": { "like": {} } }, { "college": { "like": {} } },
{ "career": { "like": {} } }, { "currentJob": { "like": {} } },
{ "height": { "between": [50, 89] } }, { "weight": { "between": [72, 192] } }, { "bodyBuild": "Slim" }] }
字符串值未推送到数组中。
if (interestId.highSchool && interestId.highSchool !="") {
var highschool = new RegExp('.*' + interestId.highSchool + '.*', "i");
query.and.push({
highSchool: { like: highschool }
})
}
我不明白的问题在哪里。如果我没有传递字符串值,它工作正常。
解决方案
尝试以下方式: -
if (interestId.highSchool && interestId.highSchool !="") {
query.and.push({
highSchool: {regexp: new RegExp('.*' + interestId.highSchool + '.*', "i")}
})
}
推荐阅读
- html - Border 使用 box-sizing:border-box 向 div 添加填充
- javascript - 开玩笑地使用 fetch 和 spyOn 进行异步测试的问题
- google-colaboratory - 我在 google colab 中渲染时遇到问题
- php - 如果 SQL 不存在用户,则删除 wp_post_meta
- amazon-web-services - AWS Glue Crawler 无法提取列标题
- node.js - TypeError [ERR_INVALID_ARG_TYPE]:“路径”参数必须是字符串类型。收到未定义。(反应)
- c# - 在代码中转移约会时 Syncfusion 调度程序崩溃
- spring-boot - 我们如何使用 Spring Boot 备份和恢复 Elasticsearch 索引?
- python - 在python中加入一个空字符串和一个随机列表的程序?
- ios - Flutter:将图像和文本从应用程序共享到 WhatsApp(ios)