Mongodb 聚合查找来自一个特定客户的所有产品
Mongodb Aggregate lookup all products from one specific client
我有一个来自 .data 的数据库和这些集合:clientes、mercancias 和 vagones。我想从同一个客户那里找到 mercancias 的所有数据。所以在这种情况下,"Electronica Chispas" 在数据库中有 2 个 "mercancia" 个实体:
[{"cliente": {"nombre": "Cafes el amanencer"},
"mercancia": {"envio": "Normal", "tipo": "Gaseoso", "fecha": "24/12/2003", "peso": 21, "volumen": 43, "origen": "Cadiz", "destino": "Castellon"},
"vagon": {"id": 1330, "volumen": 202, "peso": 433 }},{"cliente": {"nombre": "Electronica Chispas"}, "mercancia": {"envio": "Normal", "tipo": "Liquido", "fecha": "08/02/2005", "peso": 17, "volumen": 24, "origen": "San Sebastian", "destino": "Orense"}, "vagon": {"id": 1290, "volumen": 111, "peso": 464 }},{"cliente": {"nombre": "Electronica Chispas"}, "mercancia": {"envio": "Urgente intradia", "tipo": "Contaminante", "fecha": "15/09/2002", "peso": 11, "volumen": 83, "origen": "Valladolid", "destino": "Ciudad Real"}, "vagon": {"id": 1315, "volumen": 115, "peso": 481 }}]
我正在尝试这个查询:
db.mercancias.aggregate([{$lookup:{'from': 'clientes', 'localField':'destino', 'foreignField': 'nombre', 'as': 'clientes'}}])
但它并不像我想要的那样工作。当然,我没有在该查询的某处写下 "Electronica Chispas" 名称,但我不确定该写在哪里。
在MongoDB中,重复数据并不重要,也不是问题!
制作如何加入是不可能的。我决定在 mercancias
中添加一个 vagon
的 id
和 clientes
的 nombre
,这样关系就可以命名了。这样,就不需要在mongo中执行LookUp
,并且可以完成"simple" aggregate
查询!
我有一个来自 .data 的数据库和这些集合:clientes、mercancias 和 vagones。我想从同一个客户那里找到 mercancias 的所有数据。所以在这种情况下,"Electronica Chispas" 在数据库中有 2 个 "mercancia" 个实体:
[{"cliente": {"nombre": "Cafes el amanencer"},
"mercancia": {"envio": "Normal", "tipo": "Gaseoso", "fecha": "24/12/2003", "peso": 21, "volumen": 43, "origen": "Cadiz", "destino": "Castellon"},
"vagon": {"id": 1330, "volumen": 202, "peso": 433 }},{"cliente": {"nombre": "Electronica Chispas"}, "mercancia": {"envio": "Normal", "tipo": "Liquido", "fecha": "08/02/2005", "peso": 17, "volumen": 24, "origen": "San Sebastian", "destino": "Orense"}, "vagon": {"id": 1290, "volumen": 111, "peso": 464 }},{"cliente": {"nombre": "Electronica Chispas"}, "mercancia": {"envio": "Urgente intradia", "tipo": "Contaminante", "fecha": "15/09/2002", "peso": 11, "volumen": 83, "origen": "Valladolid", "destino": "Ciudad Real"}, "vagon": {"id": 1315, "volumen": 115, "peso": 481 }}]
我正在尝试这个查询:
db.mercancias.aggregate([{$lookup:{'from': 'clientes', 'localField':'destino', 'foreignField': 'nombre', 'as': 'clientes'}}])
但它并不像我想要的那样工作。当然,我没有在该查询的某处写下 "Electronica Chispas" 名称,但我不确定该写在哪里。
在MongoDB中,重复数据并不重要,也不是问题!
制作如何加入是不可能的。我决定在 mercancias
中添加一个 vagon
的 id
和 clientes
的 nombre
,这样关系就可以命名了。这样,就不需要在mongo中执行LookUp
,并且可以完成"simple" aggregate
查询!