mongodb - 按字符串数组过滤集合包含“”
Posted
技术标签:
【中文标题】mongodb - 按字符串数组过滤集合包含“”【英文标题】:mongodb - filter collection by string array contains "" 【发布时间】:2021-01-23 17:58:36 【问题描述】:对于下面的文档,我想写mongodb查询来得到结果。
[
"id": "1",
"class": "class1",
"value": "xyz"
,
"id": "2",
"class": "class2",
"value": "abc"
,
"id": "3",
"class": "class3",
"value": "123"
,
"id": "4",
"class": "class4"
,
"id": "5",
"class": "class5",
"value": ""
]
搜索参数是一个值数组 - ["abc", "xyz", ""],这是 去看看属性“值” 输出应该在下面,在这种情况下,搜索数组 "" 中的第三项指向具有 "id" - 4 和 5 的集合:
[
"id": "1",
"class": "class1",
"value": "xyz"
,
"id": "2",
"class": "class2",
"value": "abc"
,
"id": "4",
"class": "class4"
,
"id": "5",
"class": "class5",
"value": ""
]
请协助提供mongodb查询得到这样的结果
【问题讨论】:
【参考方案1】:只要你有空字符串,你就可以在数组中添加null
,像这样,
db.collection.find(
value:
$in: ["abc", "xyz", "", null]
)
【讨论】:
以上是关于mongodb - 按字符串数组过滤集合包含“”的主要内容,如果未能解决你的问题,请参考以下文章
在 Mongoose/MongoDB 的文档中过滤数组、子文档、数组、文档