【发布时间】:2020-09-12 21:04:11
【问题描述】:
(* 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:我遇到了一个新错误:
【问题讨论】:
-
服务器是什么Mongo版本?
$lookup在 Mongo 3.2 中引入 -
MongoDB shell version: 2.6.12在服务器中。 -
2.6.12 不支持
$lookup阶段。 -
2.6.12没有其他替代功能了吗?
-
我不这么认为。整个加入的概念在 Mongo 中并不自然。