首页 > 解决方案 > 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"]}),但它没有返回任何东西。要使用的正确查询是什么

标签: node.jsmongodbmongoosemongoose-schema

解决方案


使用$in

db.collection.find({"phoneNumber.type": { $in: ["ACD", "BFG"] } })

推荐阅读