arrays - Mongo db:查询与另一个传递数组的任何元素匹配的数组
问题描述
有像这样的文件:
{ _id:1, color:['red', 'green', 'yellow'},
{ _id:2, color:['red', 'blue', 'orange'},
{ _id:3, color:['blue', 'black', 'grey'}
现在我想做的是:如果我通过了 ['red']
它应该返回 id 为 1 和 2 的文档。如果我通过了 ['black', 'yellow'],它应该返回 id 为 1 和 3 的文档。
解决方案
你可以使用$elemMatch来得到你想要的。
尝试这个:
db.collection.find({
color: {
$elemMatch: {
$in: [
"black",
"yellow"
]
}
}
})
看看这个Mongo Playground 演示,使用查询。
推荐阅读
- c# - IdentityServer4:数据库中不同表中的不同用户类型
- c# - 发布模式下的 Xamarin.UWP 运行时错误
- makefile - 找不到链接库 (lNrrdIO)
- javascript - 使用 Chrome for IOS 从网站录制声音
- xml - 对具有不同节点名称的 XSLT 1.0 的 for-each 中的值求和
- c# - 如何找到隐藏在 Excel 中的一组不连续的非空单元格
- c++ - Eclipse C++ 设置
- r - 使用身份输入时,如何让 ggplot 在值标签旁边显示 % 符号
- angular - ngx-bootstrap datepicker问题将其修复到输入字段
- rest - 我如何在 jmeter 中为不同的输入 json 使用/定义一个常量变量