удалить _id из результата Монго - PullRequest
12 голосов
/ 07 марта 2012

Я довольно новичок в монго и nodejs В результате запроса у меня есть json, и я просто хочу вернуть результат в виде http-запроса следующим образом:

app.get('/itesms', function(req, res) {
  items.find().toArray(function (err, array) {
    res.send(array);
  })
});

Это работает, единственная проблема в том, что я хочу скрыть поля _id (рекурсивно) от результата. Любое предложение сделать это элегантно?

Ответы [ 2 ]

26 голосов
/ 07 марта 2012

Попробуйте это решение:

app.get('/itesms', function(req, res) {
  items.find({}, { _id: 0 }).toArray(function (err, array) {
    res.send(array);
  })
});
2 голосов
/ 10 сентября 2018

Обычный .find({}, {_id:0}) подход не работал для меня, поэтому я отправился на охоту и нашел в другой SO-ответ , что в версии 3 Mongo API вам нужно написать его так:1004 *.Так, например:

let docs = await db.collection("mycol").find({}, {projection:{_id:0}}).toArray();

Кажется, что (по крайней мере, в API nodejs) вы также можете написать это так:

let docs = await db.collection("mycol").find({}).project({_id:0}).toArray();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...