我定义了两个模式,其中填充了数据。
//架构1
const geoSchema = new Schema({
ip: String,
lat: String,
lon: String,
});
const GeoModel = mongoose.model("geo", geoSchema);
//架构2
const ipAddressSchema = new Schema({
ip: String,
comment: String,
mbps: Number,
pps: Number,
});
const IpAddressModel = mongoose.model("ip-address", ipAddressSchema);
我尝试使用查找函数通过相同的文件名(特别是ip)连接这两个模式。
const result = await IpAddressModel.aggregate()
.lookup({
from: "geo",
localField: "ip",
foreignField: "ip",
as: "geo",
})
.exec();
在结果中,我得到了IP地址,但geo字段为空。
{
"_id": "63fdd490533255bcdbe14683",
"ip": "172.17.32.19",
"comment": "",
"mbps": 1918,
"pps": 28844,
"__v": 0,
"geo": []
}
2条答案
按热度按时间e5njpo681#
试试这个:
Playground.
ivqmmu1c2#