php - 如何在monogdb中找到两个集合的交集?
问题描述
假设,我有 2 个收藏
第一 :-
db.product_main
{
_id:123121,
source_id:"B4456dde1",
title:"test Sample",
price: 250
quantity: 40
}
其中包含大约 10000 个对象(数组),唯一字段是 source_id。
第二 :-
db.product_id
{
"_id":58745633,
"product_id":"B4456dde1"
}
由 ~500 组成,只有字段“product_id”等于 db.product_main 的“source_id”
现在,我想将两个集合相交,以便只找到那些在 db.product_id 中不存在的集合。
db.product_main.aggregate({任何查询})
解决方案
只需使用查找阶段查找与“product_main”集合关联的产品,然后匹配空数组(即未找到 product_id 的记录)
db.product_main.aggregate([
{
$lookup: {
from: "product_id",
localField: "source_id",
foreignField: "product_id",
as: "products_available"
}
},
{
$match: {
products_available: {
$size: 0
}
}
}
])
推荐阅读
- database - 除了字段名称和空 {} 之外的值在 mongoDB 中指定什么?
- react-native - 未能加载 Analytics 本机模块
- json - 从 Sharepoint 复制到 Azure Blob 存储时,Json 文件中的编码错误
- google-apps-script - 在 Google 表格中通过电子邮件发送产品数量
- python - 在 Python 中按 ID 有效地计算 ngram
- if-statement - Discord.js v12 Bot Say Command 在不同的频道(通过 args?)
- pandas - 格式化 pandas 对象列
- php - 在 Bitnami LAMP 服务器上托管数据库和 PHP 程序失败
- python - Excel文件中的Python MySQL更新不起作用
- python - TypeError:无法将数组数据从 dtype('float64) 转换为 dtype('
class SigmoidNeuron: def __init__(self): self.w=None self.b=None def perceptron(self,x): return np.do