我有一个基本文档,我正在执行聚合以搜索组合的名字和姓氏的组合:
我的文件:
{
_id: dmw9294r94
firstName: "John",
lastName: "Smith",
friends: [28enw93hr, 29nwgkn38]
}
我的汇总管道:
User.aggregate([
{
$project: {
"name" : { $concat : [ "$firstName", " ", "$lastName" ] },
"firstName": "$firstName",
"lastName": "$lastName",
"username": "$username",
"friends": "$friends"}
},{
$match: {
"name": {$regex: new RegExp(req.query.query, "i")
}
}}]).exec(function(err, results){
res.json(results);
}
);
如何添加此内容以检查该用户friends
数组中是否存在特定用户ID?
我试过以下,虽然没有运气:
$match: {
"name": {$regex: new RegExp(req.query.query, "i"),
"friends" {$eq: myVarHere}
}
答案 0 :(得分:0)
正如@ profesor79所说,你只需要匹配你感兴趣的用户ID:
{$ match:{“friends”:“user_id_to_find”)}
除非我不理解这个问题,否则在我看来这里不需要$ regex。