所以我有以下聚合,我收到错误无效的运算符$$ event.info。
db.days.aggregate([
{
$match : { 'day' : 'March_1'}
},
{
$project:
{
_id:0,
day: 1,
events:
{
$filter:
{
input: '$events',
as: 'event',
cond:
{
$and:
[
{
$eq: ['$$event.year', '2002']
},
{
'$$event.info' : {$regex: '.*peseta.*'}
}
]
}
}
}
}
}
])
Event是一个包含
类型对象的数组{
year : "x"
info : "y"
}
你能帮我解释一下吗?
提前致谢!
答案 0 :(得分:-1)
您的预期产量是多少?
如果你只是想匹配你不需要聚合框架。只需使用find
db.days.find({'day' : 'March_1',event :{$elemMatch :{'year', '2002',info' : {$regex: '.*peseta.*'}}})