【发布时间】:2020-02-22 04:19:42
【问题描述】:
我是 Mongodb 的新手。我有两个集合用户和产品。
在产品集合中,用户 id 被映射。产品集合具有 productid、producttype、productname 和 userid 作为字段。
我需要编写聚合查询
- 使用聚合查询根据“product_type”获取所有产品并填充用户(必须使用聚合查询)
- 使用聚合查询根据用户城市获取所有产品(必须使用聚合查询)
var MongoClient = require("mongodb").MongoClient;
var url = "mongodb://127.0.0.1:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("demo1");
dbo
.collection("products")
.aggregate([{
$match: {
product_type: "$product_type"
}
},
{
$lookup: {
from: "users",
localField: "user_id",
foreignField: "_id",
as: "userdetails"
}
}
])
.toArray(function(err, res) {
if (err) throw err;
console.log(JSON.stringify(res));
db.close();
});
});
我试过了,但不确定这是否正确。
请帮忙。
【问题讨论】:
标签: mongodb