(* MongoDB shell 版本:第2.6.12节 *)
我有一个集合logs
和一个集合users
。logs
有一个字段userId
,表示发送日志的用户。users
有一个字段_id
。
我使用Robo 3T对远程服务器上的数据进行查询。
现在,我对url
为/subscribe
的日志感兴趣,我想查看后面的用户信息。
db.getCollection('logs').find({ "url" : "/subscribe" }).aggregate({
$lookup:{
from:"users",
localField:"userId",
foreignField:"_id",
as:"logs_users"
}
})
但我得到一个错误:
有人知道怎么解决这个问题吗?
**编辑1:**出现新错误:
1条答案
按热度按时间yvfmudvl1#
您不应该在查找后使用聚合,而是直接使用聚合并使用**$match运算符查找文档,然后$lookup**
更新:要使用$lookup,您的MongoDB版本应该等于或高于3.2,因为此操作符(joins)在旧版本的MongoDB中不起作用