mongodb - 选择一个数组的一个数组匹配一个条件的文档
问题描述
我有以下文件:
{
"key": [
[
"FOO",
"BAR"
],
[
"FOO",
"BAZ"
]
]
}
当数组中的至少一个key
数组包含 100% 的某些值时,我想检索此文档。
例子:
+--------------+----------------+
| Given values | Should Match ? |
+--------------+----------------+
| FOO | Yes |
| BAR | Yes |
| BAZ | Yes |
| FOO, BAR | Yes |
| FOO, BAZ | Yes |
| BAR, BAZ | No |
+--------------+----------------+
从文档中,看起来使用$elemMatch
and$all
运算符可以工作,但它没有(以下内容不返回任何内容):
{
"key": {
"$elemMatch": {
"$all": [
"FOO"
]
}
}
}
游乐场:https ://mongoplayground.net/p/BtqWjoUkASs
总而言之,我想$all
在另一个数组中包含的每个数组上运行运算符。
解决方案
推荐阅读
- python - 检查值是否存在于 Python 中的开始和结束位置范围内的最有效方法是什么?
- java - 如何让Android应用程序在没有互联网的本地服务器上等待来自Python的消息?
- hive - 您可以控制 HortonWorks HDP 3.4.1 托管表的 hdfs 文件大小吗?
- javascript - Angular 8:将日期值分配给类型 Moment
- python - 使用 Beautifulsoup 抓取格式奇特的数字
- php - 哪一种 preg_match 模式适合检查标识符?
- hazelcast - Hazelcast 中的分区计数
- ios - 在 WKWebView 中设置键盘类型——iOS Swift 4
- c++ - 在 C++ 中创建一个具有 2 个双精度值的类
- python - 我如何让外汇行情在雅虎金融工作?