借用变量进行中转,必需使用findOne方法才能存储进变量
var result = db.users.findOne({"name":"Tom Benzamin"},{"address_ids":1}) var addresses = db.address.find({"_id":{"$in":result["address_ids"]}})$lookup指令
mongo提供的左外连接查询,语法格式为
$lookup:{from,localField,foreignField,as}
需要使用聚合命令来操作,格式为
db.COLLECTION_NAME.aggreate({$lookup:{from,localField,foreignField,as}})
from,所要关联的集合名
localField,本集合中的“外键”
foreignField,所要关联集合中的字段
as,输出连接的文档所到的字段名
聚合 db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION) 常用操作: {$project:{key:1/0}} 修改输入文档的结构。可以用来重命名、增加或删除字段,也可以用于创建计算结果以及嵌套文档。 {$match:{query}} 用于过滤数据,只输出符合条件的文档。 {$limit:n} 用来限制返回的文档数。 {$skip:n} 在跳过指定数量的文档。 {$sort:{key:1/-1}} 将文档排序后输出。 $group 将集合中的文档分组,可用于统计结果。