2017-06-15 51 views
0

这是我的查询,我想在这种情况下,“1311”的员工数量来过滤我的结果,但它显示了所有员工我怎样才能做一个“加入”在匹配数据

db.Trabajador.aggregate([ 
{ $lookup: { 
    "localField": "idTrabajador", 
    "from": "Asignacion", 
    "foreignField": "idTrabajador", 
    "as": "Trabajadores" } } 
],{"$Asignacion.idTrabajador":"1311"}).pretty() 

回答

0

你的意思是这一点,使用$match

db.Trabajador.aggregate([ 
{ "$match": { "idTrabajador": "1311" } }, 
{ "$lookup": { 
    "localField": "idTrabajador", 
    "from": "Asignacion", 
    "foreignField": "idTrabajador", 
    "as": "Trabajadores" 
}} 
]).pretty() 

这基本上只找到了匹配的员工,然后就“加入”到其他集合中的相关数据。

+0

我已经试过,但它什么都没显示,没有错误 –

+0

对不起,现在有效,只有我删除了员工编号的“”,感谢兄弟! –

+0

@GerminatorMendez不要忘记[接受你的回答](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。这就是它在这里的作用。还要注意你的问题意味着这是一个字符串。 –