Монго найти массив внутри коллекции и получить только эти данные - PullRequest
0 голосов
/ 28 июня 2018

Как я могу получить только данные из меню, _id которых равен 1?

Я пробовал:

db.collection("restaurants")
  .find({ name : String(name), "menus._id": Number(id)} )
  .toArray(function (err, result) {

Но я все равно получаю полный результат из ресторана, а не только из меню

enter image description here

1 Ответ

0 голосов
/ 28 июня 2018

Вы должны использовать проекцию, чтобы получить только поле меню.

db.collection("restaurants").find( { name: String(name), "menus._id": Number(id) }, { _id: 0, menus: 1 } ).toArray( function(err,result) { } );

с проекцией или без нее, по умолчанию возвращается поле _id, его необходимо отключить, установив для поля _id значение 0. 0 означает, что значение этого поля не отображается, а 1 - наоборот.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...