.find({ _id: { $nin: data}, query })
так не работает, но.find({ _id: { $nin: data}, occupancy: { '$gte': 2 } })
так работает, странно, как быть? app.post('/api/search', function(req, res) {
//все жилье по умолчанию (занятое и свободное)
var query = {}
var reserveNomersIds;
var filter = {}
//price
if (req.body.min && req.body.max) {
query.cost_per_night = {$gte: req.body.min, $lte: req.body.max}
//по возрастанию
filter.cost_per_night = 1
}
if (req.body.guests > 1) {
query.occupancy = {$gte: req.body.guests}
}
if (req.body.search) {
query.city = { $regex: req.body.search.toLowerCase() }
}
Reservation.distinct("nomer", {from: {$lt: new Date(req.body.to)}, to: {$gt: new Date(req.body.from)} }
).then((data, err) => {
Nomer
.find({ _id: { $nin: data}, query})
.sort(filter)
.then(function (err, result) {
if(err){
res.send(err);
} else {
res.json(result);
}
})
})