我使用Mongodb时很新。我有一个从json导出的数据库(此刻其他值并不重要)。
我想要提出的问题是:我想要所有mercancia
所有client
所拥有的Electronica Chispas
。因此,在这种情况下,客户mercancia
将包含2 [{"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.prueba1.find({'cliente.cliente': {$mercancias}})
我缺少一些语法或者我可能只是做得不对。 在python中(但你可以在db本身中完成)。
find()
我有语法错误,但有很多方法可以做ConsumerAwareRebalanceListener
,我很遗憾。我并没有特别关注查询的解决方法,但是它可以解决的方式(伪代码,无论帮助我解决它)。
答案 0 :(得分:1)
默认情况下,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"
}
}