在MongoDB中查找数据而不重复多个文档

时间:2018-02-16 12:19:02

标签: arrays database mongodb

早上好,我正在学习MongoDB,但在尝试查询时,我没有达到预期的效果。

所用文件的结构如下:

use empresa

db.departamento_dos.insert (
{
 "Codigo": 2,
 "Nombre": "Contabilidad",
 "Presupuesto": 10000,
 "Empleados": 
 {
  "Empleado": { "DNI": "10340", "Nombre": "Andres", "Apellido": "Lopez"},
  "Empleado": { "DNI": "10341", "Nombre": "Paula", "Apellido": "Tovar"},
  "Empleado": { "DNI": "10342", "Nombre": "Andres", "Apellido": "Perez"},
  "Empleado": { "DNI": "10343", "Nombre": "Camila", "Apellido": "Perez"},
  "Empleado": { "DNI": "10344", "Nombre": "Cristian", "Apellido": "Forero"}
 }
}
)

db.departamento_tres.insert (
{
 "Codigo": 77,
 "Nombre": "Marketing",
 "Presupuesto": 30000,
 "Empleados": 
 {
  "Empleado uno": { "DNI": "10350", "Nombre": "Maria", "Apellido": "Perez"},
  "Empleado dos": { "DNI": "10351", "Nombre": "Angie", "Apellido": "Gómez"},
  "Empleado tres": { "DNI": "10352", "Nombre": "Andrea", "Apellido": "Lopez"},
  "Empleado cuatro": { "DNI": "10353", "Nombre": "Cristina", "Apellido": "Riaño"},
  "Empleado cinco": { "DNI": "10354", "Nombre": "Annie", "Apellido": "Castellanos"}
 }
}
)

我的问题是:如何通过消除重复的“Apellidos”来通过“Apellido”进行查询?

我尝试使用带有正则表达式的不同运算符来自动完成查询,但不起作用。

db.departamento_uno.distinct( "Empleados.Empleado", { /.*".Apellido"} )

它总是向我显示一个空矢量。

这个想法是能够同时查阅这两个文件。例如,我正在寻找的结果是:

[ "Lopez", "Tovar", "Perez", "Forero", "Gómez", "Riaño", "Castellanos"]

因为无论出现多少次,这个想法都只显示每个姓氏

知道如何进行此查询吗?

感谢您的帮助。

0 个答案:

没有答案