@olezhenka

Как сделать такой запрос в mongodb?

Мне нужно искать либо поле create_date, но, а если его нету, то ищу по полю create_time:

Sources_Timings.find(
	{
		create_date: {
			$gte: req.body.date.starting,
			$lte: req.body.date.ending
		},
			create_time: {
				$gte: 0,
				$lte: 86400000
			}
	function(err, timings) {
                 .......
	}
)


Я могу конечно написать это легко двумя запросами, но это костыль и я думаю есть способ искать поля опционально
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 2
@RidgeA
можно так https://docs.mongodb.com/manual/reference/operator... , конечно, но это может быть затратно с точки зрения производительности
Ответ написан
Комментировать
@forspamonly2
$or: {
	create_date: {...}, 
	$and: { 
		create_date: { $exists: false }, 
		create_time: {...} 
	} 
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы