mongodb - 如何在 mongodb 中使用 $elemmatch 比较两个数组?
问题描述
我需要比较两个数组以查找第一个数组中的所有元素是否与第二个数组匹配。
第一个数组:
var tasktime = [2,3,4];
第二个数组:
'working_days': [
{
'slots': [ 8, 9, 14, 15 ]
}
];
我需要检查“tasktime”数组中的所有元素是否存在于“slots”数组中。
以下是我尝试过但没有得到预期结果的查询。
var defaultCondition = [
{
query: {
"working_days": { $elemMatch: { slots: { $setIntersection: [ 'slots', tasktime ] } } }
}
}
];
db.GetAggregation('tasker', defaultCondition, function (err, taskers) {
if (err || !taskers[0]) {
res.send({ count: 0, result: [] });
} else {
callback(err, taskers);
}
});
在这方面需要某人的宝贵帮助。
解决方案
推荐阅读
- android - 仅在选择器android中将高度设置为自定义复选框按钮
- javascript - 结果过滤不匹配元素的数组
- sql-server - 带有 Derby JDBC 的 SQL Server Express
- pandas - 遍历字典并应用数据框转换
- java - 如何应用 Spring 5 引入的 PathPatternParser?
- python - Django Rest API 图像 GET 错误 (django.views.static.serve)
- node.js - 使用 express api 将 next.js 链接到 mongodb
- javascript - 如何将整个卡片传递给 ReactJS 中 onClick 按钮上的另一个组件?
- mysql - 如何使用不同表中另一列的值替换列中 JSON 值的键?
- python - 如何按值分组但保持数据结构?