MongoDB中的simple Find()查询

2024-06-28 21:55:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我对使用Mongodb还很陌生。我有一个从json导出的数据库(目前其他值并不重要)。你知道吗

我试图做的查询是这样的:我想要所有不同的mercancia拥有的所有client。因此在本例中,客户机Electronica Chispas,将有2mercancia和所有关于它的信息。你知道吗

[{"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 }}]

我错过了一些联会或可能我只是做得不对。 在python中(但是您可以在db本身中进行)。你知道吗

db.prueba1.find({'cliente.cliente': {$mercancias}})

我有语法错误,但是有太多的方法来做find(),我完全迷路了。我不是特别寻找解决的查询,而是寻找解决它的方法(伪代码,任何帮助我解决它的东西)。你知道吗


Tags: idnormalenvioclientefechanombredestinotipo
1条回答
网友
1楼 · 发布于 2024-06-28 21:55:18

默认情况下,MongoDB将返回整个文档。如果只需要文档的一部分,可以使用projection。你知道吗

试试这个:

db.prueba1.find({}, {mercancia: 1})

它应该返回:

{
  { _id: id-of-doc-one, mercancia: { ... } },
  { _id: id-of-doc-two, mercancia: { ... } },
  { _id: id-of-doc-three, mercancia: { ... } }
}

如果需要特定文档的mercancia,可以执行以下操作:

db.prueba1.find( {'client.nombre', 'Cafes el amanencer'}, {_id: 0, mercancia: 1 });

它将返回:

{
    mercancia: {
        envio: "Normal",
        tipo: "Gaseoso", 
        fecha: "24/12/2003",
        peso: 21,
        volumen: 43,
        origen: "Cadiz",
        destino: "Castellon"
    }
}

相关问题 更多 >