猫鼬,将字符串数组类型的字段与给定的字符串数组匹配

时间:2020-05-28 13:22:37

标签: node.js mongodb mongoose mongoose-schema

假设有一个模式和一个字段

 phoneNumber:{
    type:[String],
    required:true
},

现在,我想将此列与一个数组进行比较,例如["ABC","DEF"]。如何检查此数组中的任何元素是否与文档中的元素匹配

Like if there are documents A =  { phoneNumber :["ACD, "BFG"]} and B= {phoneNumber:["GCD"]} 

如果我使用C= ["GCD"]检查,查询应返回B文档,因为B是唯一包含“ GCD”元素的文档。 我确实尝试过使用myDoc.find({phoneNumber:{$in:["GCD"]}),但它没有返回任何内容。什么是正确的查询?

1 个答案:

答案 0 :(得分:1)

使用$in

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