Я хочу выбрать данные из 1 комнаты, но я также хочу идентификаторы всех других комнат.Оба find() и findById() в одном вызове MongoDB
Я делаю это с
const roomId = req.params.roomId;
Room.findById(roomId).then(room => {
if (room) {
Room.find({}).sort({ createdAt: 1 }).then(rooms => {
if (rooms) {
res.render()
}
}).catch(next);
}
}).catch(next);
, но это приводит к 2-х обращений к базе данных.
Можно ли ограничить его только одним звонком?
В комнате, в которой я хочу, есть много данных, которые мне не нужно извлекать для других комнат, так как мне нужны только их идентификаторы.
Является ли это то же самое, как 'Array.find()'? Я хотел бы избежать включения 'underscore.js', если возможно – Jamgreen
Да, это несколько то же самое. Но если вы не хотите использовать underscore.js, попробуйте aggregate() в mongodb. Я хочу, чтобы это помогло вам, но я не уверен. Вы можете добиться объединения запросов с ним. Я не думаю о другом. –