如何在mongodb中使用$elemmatch比较两个阵列?
我需要比较两个数组,以确定第一个数组中的所有元素是否与第二个数组匹配 第一个阵列:如何在mongodb中使用$elemmatch比较两个阵列?,mongodb,mongodb-query,Mongodb,Mongodb Query,我需要比较两个数组,以确定第一个数组中的所有元素是否与第二个数组匹配 第一个阵列: var tasktime = [2,3,4]; 第二个阵列: 'working_days': [ { 'slots': [ 8, 9, 14, 15 ] } ]; 我需要检查“tasktime”数组中的所有元素是否都存在于“slots”数组中 下面是我尝试过但没有得到预期结果的查询
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);
}
});
需要有人在这方面提供有价值的帮助 您需要使用查找taskTime
数组中的所有值
您可以简单地执行以下操作:
db.tasker.find({"working_days.slots" : {$all : taskTime}});
您需要使用查找taskTime
数组中的所有值
您可以简单地执行以下操作:
db.tasker.find({"working_days.slots" : {$all : taskTime}});