Я строию buildQuery
, чтобы получать сообщения для социальной подачи.Как я могу дважды запросить два значения мангуста?
Когда пользователи делают сообщение, их университет сохраняется в должности university
. Они также могут убедиться, что ТОЛЬКО другие ученики из того же университета могут это увидеть.
Если они этого хотят, то uniOnly
установлен на true
на модель сообщения.
Вот часть PostSchema
:
const PostSchema = new Schema({
university: {
type: String,
required: true
},
uniOnly: {
type: Boolean,
required: true
}
});
В нижеприведенном buildQuery
университет, uni
пользователя (хранится в их профиле документа) с просьбой фид передается в качестве параметра.
Так что я пытаюсь сделать, это проверить, что если uniOnly
установлен в true
на должность и uni
приходит в это не то же самое, как university
на пост, то это не должно быть видно в корме.
Как я могу это сделать? Должен ли я использовать $where
? Или, если заявление некоторых как ?:
const buildQuery = (criteria) => {
const { uni } = criteria;
const query = {};
// Should I be using $where?
query.uniOnly = { $where: }
return query;
};
buildQuery
довольно большой, поэтому я срубил его, что имеет отношение.
Спасибо
Если это 'uniOnly = false', то сообщение может быть запрошено только IF 'university = criteria.uni'. Это делает то же самое прямо? – bloppit
@bloppit Он получает документы 'uniOnly = false', а также документы, в которых' university = criteria.uni' (и подразумевается 'uniOnly = true', который является единственным другим вариантом для' uniOnly'). – JohnnyHK
удивительный, спасибо! – bloppit