Как переименовать поля в выходных MongoDB? - PullRequest
1 голос
/ 24 марта 2020

Я новичок в MongoDB, мой родной язык - испанский sh. Поэтому я не уверен, как найти то, что мне нужно.

Я постараюсь сделать себя понятным.

Я делаю этот запрос, и в результате получается массив.

Например:

Users.find({passport:123, (err, result) => {
   //output of result
   [ 
     {"nombre":"pedro","apellido":"jose"},
     {"nombre":"pablo","apellido":"jacinto"},
     {"nombre":"jose","apellido":"berta"},
   ]

Я хочу знать, есть ли более эффективный способ сделать что-то, чтобы с помощью некоторой функции из mongodb я мог настроить вывод, чтобы избежать выполнения чего-то подобного :

Требуемый вывод:

   [ 
     {"name":"pedro","lastname":"jose"},
     {"name":"pablo","lastname":"jacinto"},
     {"name":"jose","lastname":"berta"},
   ]

Есть ли способ обработки выходной информации непосредственно из mongoDB?

1 Ответ

1 голос
/ 24 марта 2020

Вам необходимо использовать Агрегирование MongoDB *, чтобы сделать это:

db.collection.aggregate([
  /** Filter docs based on criteria */
  {
    $match: {
      passport: 123
    }
  },
  /** Transform fields into required form */
  {
    $project: {
      name: "$nombre",
      lastname: "$apellido"
    }
  }
])

Тест: MongoDB-Playground

Ссылка: $ match , $ project

...