fixed backend filtering

This commit is contained in:
muerwre 2019-03-29 12:24:09 +07:00
parent c8b233bcb7
commit 4d9456610f

View file

@ -8,7 +8,6 @@ module.exports = async (req, res) => {
} = req; } = req;
const is_starred = parseInt(starred, 10) === 1; const is_starred = parseInt(starred, 10) === 1;
const user = await User.findOne({ _id: id, token }); const user = await User.findOne({ _id: id, token });
let criteria = { is_deleted: false }; let criteria = { is_deleted: false };
@ -16,7 +15,7 @@ module.exports = async (req, res) => {
if (title) { if (title) {
criteria = { criteria = {
...criteria, ...criteria,
$and: [ $or: [
{ title: new RegExp(title.trim(), 'ig') }, { title: new RegExp(title.trim(), 'ig') },
{ _id: new RegExp(title.trim(), 'ig') }, { _id: new RegExp(title.trim(), 'ig') },
], ],
@ -48,6 +47,7 @@ module.exports = async (req, res) => {
} }
).populate('owner', '_id'); ).populate('owner', '_id');
list = list.filter(item => !author || (item.owner && item.owner._id === author)); list = list.filter(item => !author || (item.owner && item.owner._id === author));
let limits = list.reduce(({ min, max }, { distance: dist }) => ({ let limits = list.reduce(({ min, max }, { distance: dist }) => ({
@ -61,7 +61,7 @@ module.exports = async (req, res) => {
// ? parseInt(distance[1], 10) // ? parseInt(distance[1], 10)
// : 10000; // : 10000;
if (distance && distance.length === 2) { if (distance && distance.length === 2 && !(minDist === maxDist && minDist === 0)) {
list = list.filter(item => ( list = list.filter(item => (
item.distance >= minDist && item.distance >= minDist &&
item.distance <= maxDist item.distance <= maxDist