Найти текущие и предыдущие документы из Монго БД - PullRequest
2 голосов
/ 15 марта 2019

Я должен вернуть 2 документа из одного запроса.Первое значение, которое я дам в запросе, а второе будет предыдущим (отсортировано).

Я могу проектировать оба по отдельности.Приведенный ниже код дает отдельные выходы.

db.collection.find({'_id':'value1'})
db.collection.find({'_id': {'$lt': 'value1'}}).sort({'_id':-1}).limit(1)
  1. Как их объединить?Поэтому, когда я выполняю из моего приложения, он возвращает 2 вывода
  2. Извлечение только определенного ключа вместо всего документа

1 Ответ

1 голос
/ 15 марта 2019

Вы можете использовать $lte вместо $lt и ограничить с помощью 2 - логически это будет та же самая операция

db.collection.find({ _id: { $lte: 'value1' } }, { _id: 1, yourKey: 1 }).sort({_id: -1}).limit(2)

РЕДАКТИРОВАТЬ: чтобы получить конкретные ключи, вам необходимо указать их в качестве второго аргумента .find ()

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