Построить сложную модель.найти запрос
Я создаю API, используя паруса.js
В данный момент я выполняю необработанные sql-запросы, чтобы найти список состояний:
Status.query("SELECT Status.* FROM Status,User where Status.user = User.id and User.isPrivate = false group by status.id order by status.id desc limit "+limit+" offset "+offset, function(err, status) {
if(err) return next(err);
console.log(status)
console.log(res)
res.json(200,status);
});
2 задачи:
1-это raw SQL, поэтому я не смогу переключиться на Mango или что-то еще, потому что мой код связан с моей базой данных. 2-Модель.найти автоматически загружаемые отношения (здесь статус.пользователь и статус.find) и raw sql загружают только ID
2 - я ищу синтаксис для построения "сложных" запросов с использованием модели.Найти, чтобы позволить я получаю тот же результат, что и raw sql, а также делаю такие вещи, как
AND:
[
{
or:
[
{a=1,b=2},
{a=2,b=1}
]
},
{c=6}
]
1 ответ:
Хорошо, я успешно нашел, как это сделать !
Таким образом, целью было преобразовать этот запрос:
Status.query("SELECT Status.* FROM Status,User where Status.user = User.id and User.isPrivate = false group by status.id order by status.id desc limit "+limit+" offset "+offset, function(err, status) { if(err) return next(err); console.log(status) console.log(res) res.json(200,status); });
К модели.найти запрос, используя паруса.синтаксис js в состоянии mysql. Здесь вы идете: (без пагинации, но его легко найти, как это сделать)
Status.find({}).populate('user',{isPrivate:'false'}).exec(function(status,err){ if(err) return next(err); console.log(status) console.log(res) res.json(200,status); });
Веселитесь!