我们有两个系列.
一个是拥有大量数据的books个集合.喜欢:
{
'_id' {"$oid": "64ba6a416504f1f01d773faa"},
'isbn': 8765434567890,
'booktitle': 'some text',
}
{
'_id' {"$oid": "64ba6a416504f1f01d773faa"},
'isbn': 8765434566666,
'booktitle': 'other book',
}
notes集合包含有关基本集合中某些文档的额外信息的文档.喜欢:
{
'_id' {"$oid": "64ba6a416504f1f01d773faa"},
'isbn': 8765434567890,
'note': 'blabla',
}
因此,并不是books中的所有文档都有notes中的对应文档.如果有的话,那就是one-to-one.
我试图找出的是一个聚合,它显示了所有books个文档(可能还有附加的{Match}内容),特别是notes集合中的do not have a counterpart个文档.
[
{'$match': {}},
{'$lookup':
{
'from': 'notes',
'localField': 'isbn',
'foreignField': 'isbn',
'as': 'related_note',
}
},
{'$project':
{
'isbn': '$isbn',
'title': '$title',
'note': '-- no notes about this title',
}
}
]
所以不是左连接,也不是右连接,而是:NOT(左连接)
有人吗?谢谢.