[英]how to use lookup in mongo DB
我尝试加入我的表,这是数据的示例。 我想在我的 data1 中加入 data2,其中 data1Id = data1.id
我尝试使用$lookup
但它仍然获取所有数据
const data1 = [
{
id: 'ID1'
name: 1
}
]
const data2 = [
{
data1Id: 'ID1',
sub_name: 'test'
},
{
data1Id: 'ID1',
sub_name: 'test'
},
{
data1Id: 'ID3',
sub_name: 'test'
}
]
output = [
{
data1Id: 'ID1',
sub_name: 'test'
},
{
data1Id: 'ID1',
sub_name: 'test'
},
]
这是我尝试的
[
{
'$lookup': {
'from': 'data2',
'localField': 'data1Id',
'foreignField': 'id',
'as': 'output'
}
}
]
这就是我的 output 的样子
output = [
{
data1Id: 'ID1',
sub_name: 'test'
},
{
data1Id: 'ID1',
sub_name: 'test'
},
{
data1Id: 'ID3',
sub_name: 'test'
}
]
它没有 select 只有 data1Id 相同的数据
我明白了,因为查找不能使用 objectID,所以我必须先将 _id 投影到字符串中
[
{
'$project': {
'_id': {
'$toString': '$_id'
}
}
}, {
'$lookup': {
'from': 'data2',
'localField': '_id',
'foreignField': 'data1Id',
'as': 'output'
}
}
]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.