node.js - Mongoose,将字符串数组类型的字段与给定的字符串数组匹配
问题描述
假设有一个Schema并且有一个字段
phoneNumber:{
type:[String],
required:true
},
现在我想将此列与一个数组进行比较,例如["ABC","DEF"]
。如何检查此数组中的任何元素是否与文档中的元素匹配
Like if there are documents A = { phoneNumber :["ACD, "BFG"]} and B= {phoneNumber:["GCD"]}
如果我使用 进行检查,查询应该返回 B 文档C= ["GCD"]
,因为 B 是唯一包含“GCD”元素的文档。我确实尝试过使用myDoc.find({phoneNumber:{$in:["GCD"]})
,但它没有返回任何东西。要使用的正确查询是什么
解决方案
使用$in:
db.collection.find({"phoneNumber.type": { $in: ["ACD", "BFG"] } })
推荐阅读
- sql - 坚持通过查询获取部门
- database - TDengine“显示表格”用法
- angular - 在 FormGroup 中递归查找检查非空表单控件值的函数
- google-sheets - 怎么算没有。在 Google 表格中使用 arrayformula 的每一行的出现次数
- html - SAFARI BROWSER 中未显示水平滚动视图
- flutter - 如何在 Flutter 应用中检查 wi-fi 是否有互联网
- cookies - 如何在更改功能之前为 cookie 设置默认值
- android - 在 kotlin 中为单击按钮创建的edittext动态分配 id
- java - spark.sql.datetime.java8API.enabled=true 不会通过 Encoders.bean(Association.class) 将 dateType 映射到 java.util.LocalDate
- google-bigquery - 如何将我的 openrtb 原型数据导出到 bigquery